SQL/MX Programming Manual for C and COBOL (G06.24+, H06.03+)
C Sample Programs
HP NonStop SQL/MX Programming Manual for C and COBOL—523627-004
A-7
Using SQL Descriptor Areas in Dynamic SQL
Using SQL Descriptor Areas in Dynamic SQL
Using SQL Descriptor Areas With DESCRIBE
Example A-4 on page A-8 executes the steps shown in Figure 10-1 on page 10-12.
end_prog:
EXEC SQL WHENEVER SQLERROR CONTINUE;
if (strcmp(SQLSTATE, SQLSTATE_OK) != 0) {
EXEC SQL GET DIAGNOSTICS
:hv_num = NUMBER;
for (i = 1; i <= hv_num; i++) {
EXEC SQL GET DIAGNOSTICS EXCEPTION :i
:hv_tabname = TABLE_NAME,
:hv_colname = COLUMN_NAME,
:hv_sqlstate = RETURNED_SQLSTATE,
:hv_msgtxt = MESSAGE_TEXT;
hv_tabname[128]='\0'; hv_colname[128]='\0';
hv_sqlstate[5]='\0'; hv_msgtxt[128]='\0';
printf("Table : %s\n", hv_tabname);
printf("Column : %s\n", hv_colname);
printf("SQLSTATE: %s\n", hv_sqlstate);
printf("Message : %s\n", hv_msgtxt);
} /* end for */
} /* end if */
return 0;
} /* end main */
Example A-3. Using Argument Lists in Dynamic SQL (page 3 of 3)