EasyManua.ls Logo

HP NonStop SQL/MP

HP NonStop SQL/MP
331 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
Dynamic SQL Operations
HP NonStop SQL/MP Programming Manual for C429847-008
10-47
Detailed Dynamic SQL Program
179 {
180 lastchar = nb + (name_len - 1);
181 if ( *lastchar == ' ') /* last character is blank */
182 /* that SQL inserts to make */
183 /* length info fall on an */
184 /* even byte boundary */
185 /* (the name had an odd */
186 /* number of characters) */
187
188 { strncpy( name_array, nb, name_len - 1);
189 name_array[name_len - 1] = '\0';
190 }
191 else
192 { strncpy( name_array, nb, name_len);
193 name_array[name_len] = '\0';
194 }
195 }
196
197 /* advance nb to the next name */
198 nb = lastchar + 1;
199
200 /* ------------------------------------------------ */
201 /* Display data depending on data type */
202 /* ------------------------------------------------ */
203
204 switch (sqlda->sqlvar[i].data_type) {
205 /* ------------------------------------------------ */
206 case _SQLDT_ASCII_F : /* CHAR data type */
207
208 data_ptr = (char *) sqlda->sqlvar[i].var_ptr;
209 data_len = sqlda->sqlvar[i].data_len;
210
211 if (data_len <= 38)
212 { strncpy( data_array, data_ptr, data_len );
213 data_array[data_len] = '\0';
214 printf( "%-40s %s\n", name_array, data_array );
215 fflush (stdout);
216 }
217 else
218 {
219 /* display first 38 characters of data */
220 printf( "%-40s %.38s\n", name_array, data_ptr );
221 fflush (stdout);
222 }
223 break;
224
225 /* ------------------------------------------------- */
226 case _SQLDT_ASCII_V : /* VARCHAR datatype */
227
228 data_ptr = (char *) sqlda->sqlvar[i].var_ptr;
229 len_ptr = (short *) data_ptr; /* length prefix */
230 data_ptr += 2; /* skip length prefix */
231
232 if ( *len_ptr <= 38)
233 { if ( *len_ptr != 0 ) /* filter zero length */
234 strncpy( data_array, data_ptr, *len_ptr );
235 data_array[ *len_ptr ] = '\0';
236 printf( "%-40s %s\n", name_array, data_array );
237 fflush (stdout);
238 }
239 else
240 {
Example 10-8. Detailed Dynamic SQL Program (page 4 of 22)

Table of Contents

Related product manuals