#include #include #include EXEC SQL INCLUDE SQLCA; EXEC SQL BEGIN DECLARE SECTION; short sid; char first[21]; char last[21]; char email[81]; short null; EXEC SQL END DECLARE SECTION; int main(void) { EXEC SQL CONNECT TO homework; EXEC SQL WHENEVER SQLERROR GOTO error; EXEC SQL WHENEVER NOT FOUND GOTO empty; /* retrieve data for student with ID ... */ sid = 102; EXEC SQL SELECT FIRST, LAST, EMAIL INTO :first, :last, :email INDICATOR :null FROM STUDENTS WHERE SID = :sid; printf("Student #%d: %s %s %s\n", sid, first, last, (null == -1) ? "(no e-mail address)" : email); empty: EXEC SQL COMMIT; return 0; error: EXEC SQL WHENEVER SQLERROR CONTINUE; printf ("DB2 error (%d, %s)\n", sqlca.sqlcode, sqlca.sqlstate); if (sqlca.sqlerrml) printf("\t%.*s\n", sqlca.sqlerrml, sqlca.sqlerrmc); EXEC SQL ROLLBACK; return 1; }