#include #include #include EXEC SQL INCLUDE sqlca; int main (void) { EXEC SQL BEGIN DECLARE SECTION; char Query [128] = "INSERT into e (name,size) values (:name,:size)"; char name [1024]; int size = 64; EXEC SQL END DECLARE SECTION; EXEC SQL CONNECT norman; /* Don't complain about table existing the second time it's run */ EXEC SQL WHENEVER SQLERROR CONTINUE; EXEC SQL CREATE TABLE e (name varchar (32), size integer); EXEC SQL COMMIT; sqlca.sqlcode = 0; EXEC SQL WHENEVER SQLERROR Goto Error; EXEC SQL PREPARE Stmt FROM :Query; printf ("Prepared\n"); strcpy (name, "abcdef"); EXEC SQL EXECUTE Stmt USING :name,:size; printf ("Executed 1\n"); strcpy (name, "abc'ef"); EXEC SQL EXECUTE Stmt USING :name,:size; printf ("Executed 2\n"); EXEC SQL COMMIT; printf ("Committed\n"); return 0; Error: printf ("Oops \"%s\"\n", name); printf ("%*.*s\n", sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrml, sqlca.sqlerrm.sqlerrmc); return 2; }