#include #include #include #include #include #include "dbmcon1.h" EXEC SQL INCLUDE SQLCA; #define CHECKERR(str) if(is_error(str, &sqlca) != 0) return 1; EXEC SQL BEGIN DECLARE SECTION; long indeks; char ime[11]; char prezime[16]; short god_rodjenja; short ind_god_rodj; char mesto_rodjenja[21]; short ind_mesto_rodj; EXEC SQL END DECLARE SECTION; int SecondDbCreateTable(void) { printf("CREATE TABLE pred_stat(\nid_predmeta INTEGER NOT NULL, \nproesek FLOAT) \n"); EXEC SQL CREATE TABLE pred_stat(id_predmeta INTEGER NOT NULL, prosek FLOAT); CHECKERR("Create table pred_stat"); return 0; } int SecondDbDropTable(void) { printf("DROP TABLE pred_stat\n"); EXEC SQL DROP TABLE pred_stat; CHECKERR("Drop table"); return 0; } int SecondDbSelect(void) { printf("SELECT FROM dosije\n"); EXEC SQL DECLARE dcur CURSOR FOR select indeks, ime, prezime, god_rodjenja, mesto_rodjenja from dosije; CHECKERR("Declare cursor dcur"); EXEC SQL open dcur; CHECKERR("Open dcur"); printf("INDEKS IME PREZIME GOD_RODJ MEST0_RODJENJA\n"); printf("===============================================================\n"); while(1) { EXEC SQL fetch dcur into :indeks, :ime, :prezime, :god_rodjenja:ind_god_rodj, :mesto_rodjenja:ind_mesto_rodj; CHECKERR("Fetch dcur"); if(SQLCODE == 100) break; printf("%-10ld %-10s %-15s %-10d %-10s\n", indeks, ime, prezime, (ind_god_rodj < 0 ? 0 :god_rodjenja), (ind_mesto_rodj < 0 ? "NULL" : mesto_rodjenja)); } EXEC SQL CLOSE dcur; CHECKERR("Close dcur"); return 0; }