SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)

C Sample Programs
HP NonStop SQL/MX Programming Manual for C and COBOL523627-004
A-23
Using a Dynamic SQL Cursor With Descriptor Area
case 2:
memset(hv_time,' ',sizeof(hv_time));
EXEC SQL GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv_time = VARIABLE_DATA;
hv_time[hv_length]=0;
printf ("time Value: %s\n", hv_time);
break;
case 3:
memset(hv_timestamp,' ',sizeof(hv_timestamp));
EXEC SQL GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv_timestamp = VARIABLE_DATA;
hv_timestamp[hv_length]=0;
printf ("timestamp Value: %s\n", hv_timestamp);
break;
} /* end switch hv_datetime */
break;
case 10:
switch (hv_datetime) {
case 7: /* INTERVAL YEAR TO MONTH */
memset(hv_y22mo,' ',sizeof(hv_y22mo));
EXEC SQL GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv_y22mo=VARIABLE_DATA;
hv_y22mo[hv_length]=0;
printf ("Interval year to month: %s/n", hv_y22mo);
break;
case 10: /* INTERVAL DAY TO FRACTION */
memset(hv_d2s4,0,sizeof(hv_d2s4));
EXEC SQL GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv_d2s4=VARIABLE_DATA;
hv_d2s4[hv_length]=0;
printf ("Interval daytosecond: %s", hv_name);
break;
} /* end switch hv_datetime */
break;
case 12:
printf ("Varchar: %s, Type: %d, Length: %d, Null: %d",
hv_name, hv_type, hv_length, hv_indicator);
EXEC SQL GET DESCRIPTOR 'out_sqlda' VALUE :i
:hv_varchar = VARIABLE_DATA;
printf (" Value: %s\n", hv_varchar);
break;
Example A-7. Using a Dynamic SQL Cursor With Descriptor Areas (page 6 of 8)