#include #include #include #define pre_varchar(x) x.len=strlen(x.arr) #define post_varchar(x) x.arr[x.len]='\0' EXEC SQL BEGIN DECLARE SECTION; char pwd[100] = "kop/kop@semora1"; EXEC SQL END DECLARE SECTION; EXEC SQL WHENEVER SQLERROR CONTINUE; void sql_error(char *info) { char errm[513]; size_t bufl = sizeof(errm); size_t errl; sqlglm(errm,&bufl,&errl); errm[errl] = '\0'; if (info) printf("\nChyba SQL: %s:\n%s\n",info,errm); else printf("\nChyba SQL:\n%s\n",errm); EXEC SQL ROLLBACK WORK RELEASE; exit(1); } EXEC SQL WHENEVER SQLERROR DO sql_error(NULL); int main() { EXEC SQL WHENEVER SQLERROR DO sql_error("Pripojovani"); EXEC SQL CONNECT :pwd; EXEC SQL WHENEVER SQLERROR DO sql_error("Rollback"); EXEC SQL COMMIT WORK RELEASE; return 0; }