err.pc
text/plain
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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;
}