EasyManuals Logo

HP NonStop SQL/MP User Manual

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
Page #245 background imageLoading...
Page #245 background image
Dynamic SQL Operations
HP NonStop SQL/MP Programming Manual for C—429847-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

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the HP NonStop SQL/MP and is the answer not in the manual?

HP NonStop SQL/MP Specifications

General IconGeneral
BrandHP
ModelNonStop SQL/MP
CategorySoftware
LanguageEnglish

Related product manuals