#include <sqlca.h>
#include <stdlib.h>
#include <stdio.h>

#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;
}