/* Processed by ecpg (4.12.0) */ /* These include files are added by the preprocessor */ #include #include #include /* End of automatic include section */ #line 1 "F:\\postgrachelor\\project\\dbclient.pgc" #include #include using namespace std; void initdb(); void menuInsert(); void menuSelect(); void menuUpdate(); void menuDelete(); void insertCategory(); void insertQuestion(); void selectCategory(); void selectQuestion(); void updateCategory(); void updateQuestion(); void deleteCategory(); void deleteQuestion(); void cinClear(); int main() { initdb(); char choice; int exit = 0; for(;!exit;){ choice = 0; cout << endl << endl << endl << "Was wollen Sie tun?:" << endl; cout << "(e): Daten eingeben" << endl; cout << "(a): Daten anzeigen" << endl; cout << "(n): Daten aendern" << endl; cout << "(l): Daten loeschen" << endl; cout << "(s): schliessen" << endl; cin >> choice; switch(choice){ case 'e': menuInsert(); break; case 'a': menuSelect(); break; case 'n': menuUpdate(); break; case 'l': menuDelete(); break; case 's': exit = 1; break; } } } void initdb(){ { ECPGconnect(__LINE__, 0, "CSDB@lamp.wlan.hwr-berlin.de" , "gr2" , "2Au-R2n-cQN-uuG" , NULL, 0); } #line 62 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "state: " << sqlca.sqlstate << endl; { ECPGtrans(__LINE__, NULL, "commit");} #line 64 "F:\\postgrachelor\\project\\dbclient.pgc" } void menuInsert(){ char choice = 0; cout << "Welche Tabelle?:" << endl; cout << "(k): Kategorien" << endl; cout << "(f): Fragen" << endl; cin >> choice; switch(choice){ case 'k': insertCategory(); break; case 'f': insertQuestion(); break; } } void menuSelect(){ char choice = 0; cout << "Welche Tabelle?:" << endl; cout << "(k): Kategorien" << endl; cout << "(f): Fragen" << endl; cin >> choice; switch(choice){ case 'k': selectCategory(); break; case 'f': selectQuestion(); break; } } void menuUpdate(){ char choice = 0; cout << "In welcher Tabelle?:" << endl; cout << "(k): Kategorien" << endl; cout << "(f): Fragen" << endl; cin >> choice; switch(choice){ case 'k': updateCategory(); break; case 'f': updateQuestion(); break; } } void menuDelete(){ char choice = 0; cout << "Aus welcher Tabelle?:" << endl; cout << "(k): Kategorien" << endl; cout << "(f): Fragen" << endl; cin >> choice; switch(choice){ case 'k': deleteCategory(); break; case 'f': deleteQuestion(); break; } } void insertCategory(){ /* exec sql begin declare section */ #line 133 "F:\\postgrachelor\\project\\dbclient.pgc" char eingna [ 4001 ] ; /* exec sql end declare section */ #line 134 "F:\\postgrachelor\\project\\dbclient.pgc" string h = ""; cout << "Eingabe Name: "; ws(cin); getline(cin, h); //cout << h << endl; if (!(h.empty()||!strcmp(h.c_str(),"\n"))) { strcpy(eingna, h.c_str()); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into gr2 . \"Categories\" ( name ) values ( $1 )", ECPGt_char,(eingna),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 145 "F:\\postgrachelor\\project\\dbclient.pgc" if (!strcmp(sqlca.sqlstate, "23505")) cout << "GIBT'S SCHON" << endl; else if(!strcmp(sqlca.sqlstate, "22021")) cout << "Umlaute bitte umschreiben (z.B. als \"ue\")!"; { ECPGtrans(__LINE__, NULL, "commit");} #line 148 "F:\\postgrachelor\\project\\dbclient.pgc" } } void insertQuestion(){ /* exec sql begin declare section */ #line 154 "F:\\postgrachelor\\project\\dbclient.pgc" char question [ 4001 ] ; #line 155 "F:\\postgrachelor\\project\\dbclient.pgc" char ans0 [ 4001 ] ; #line 156 "F:\\postgrachelor\\project\\dbclient.pgc" char ans1 [ 4001 ] ; #line 157 "F:\\postgrachelor\\project\\dbclient.pgc" char ans2 [ 4001 ] ; #line 158 "F:\\postgrachelor\\project\\dbclient.pgc" char ans3 [ 4001 ] ; #line 159 "F:\\postgrachelor\\project\\dbclient.pgc" int category ; /* exec sql end declare section */ #line 160 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "Frage: "; ws(cin); cin.getline(question, sizeof(question)); cout << "Richtige Antwort: "; ws(cin); cin.getline(ans0, sizeof(ans0)); cout << "1. Falsche Antwort: "; ws(cin); cin.getline(ans1, sizeof(ans1)); cout << "2. Falsche Antwort: "; ws(cin); cin.getline(ans2, sizeof(ans2)); cout << "3. Falsche Antwort: "; ws(cin); cin.getline(ans3, sizeof(ans3)); cout << "ID der Kategorie:" << endl << "moegliche "; selectCategory(); cin >> category; if(category){ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "insert into gr2 . \"Questions\" ( question , answer0 , answer1 , answer2 , answer3 , category ) values ( $1 , $2 , $3 , $4 , $5 , $6 )", ECPGt_char,(question),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans0),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans1),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans2),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans3),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(category),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 181 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "23503")) cout << "Das ist keine gueltige Kategorie!" << endl; else if(!strcmp(sqlca.sqlstate, "22021")) cout << "Umlaute bitte umschreiben (z.B. als \"ue\")!"; cout << "state: " << sqlca.sqlstate << endl; { ECPGtrans(__LINE__, NULL, "commit");} #line 185 "F:\\postgrachelor\\project\\dbclient.pgc" } } void selectCategory(){ //Die Ausgabe funktioniert nur dann korrekt, wenn die ids eindeutig sind!!! /* exec sql begin declare section */ #line 192 "F:\\postgrachelor\\project\\dbclient.pgc" int id ; #line 193 "F:\\postgrachelor\\project\\dbclient.pgc" char name [ 4001 ] ; /* exec sql end declare section */ #line 194 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "Kategorien:" << endl; /* declare xxx cursor for select \"ID\" , name from gr2 . \"Categories\" order by \"ID\" */ #line 198 "F:\\postgrachelor\\project\\dbclient.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare xxx cursor for select \"ID\" , name from gr2 . \"Categories\" order by \"ID\"", ECPGt_EOIT, ECPGt_EORT);} #line 199 "F:\\postgrachelor\\project\\dbclient.pgc" int residl; residl = id; string hName = ""; { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch first from xxx", ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(name),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 206 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "00000")){ hName = name; hName.erase(hName.find_last_not_of(" \n\r\t")+1); cout << id << " " << hName << endl; } else if(!strcmp(sqlca.sqlstate, "02000")) cout << "Die Tabelle ist leer!"; while(id != residl) { residl = id; { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from xxx", ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(name),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 217 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "00000")){ hName = name; hName.erase(hName.find_last_not_of(" \n\r\t")+1); cout << id << " " << hName << endl; } } { ECPGtrans(__LINE__, NULL, "commit");} #line 224 "F:\\postgrachelor\\project\\dbclient.pgc" } void selectQuestion(){ //Die Ausgabe funktioniert nur dann korrekt, wenn die ids eindeutig sind!!! /* exec sql begin declare section */ #line 230 "F:\\postgrachelor\\project\\dbclient.pgc" int id ; #line 231 "F:\\postgrachelor\\project\\dbclient.pgc" char question [ 4001 ] ; #line 232 "F:\\postgrachelor\\project\\dbclient.pgc" char ans0 [ 4001 ] ; #line 233 "F:\\postgrachelor\\project\\dbclient.pgc" char ans1 [ 4001 ] ; #line 234 "F:\\postgrachelor\\project\\dbclient.pgc" char ans2 [ 4001 ] ; #line 235 "F:\\postgrachelor\\project\\dbclient.pgc" char ans3 [ 4001 ] ; #line 236 "F:\\postgrachelor\\project\\dbclient.pgc" char cat [ 4001 ] ; #line 237 "F:\\postgrachelor\\project\\dbclient.pgc" int sites ; #line 238 "F:\\postgrachelor\\project\\dbclient.pgc" int offset ; /* exec sql end declare section */ #line 239 "F:\\postgrachelor\\project\\dbclient.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select ceil ( count ( * ) / 5.0 ) from gr2 . \"Questions\"", ECPGt_EOIT, ECPGt_int,&(sites),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 241 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "Es gibt " << sites << " Seiten. Welche soll angezeigt werden?" << endl; cin >> offset; while(offset > sites || offset < 1){ cout << "Diese Seite gibt es nicht. Bitte gueltige Seitenzahl eingeben!" << endl; cin >> offset; } offset = (offset-1)*5; string hQuestion = "", hAns0 = "", hAns1 = "", hAns2 = "", hAns3 = "", hCat = ""; cout << "Fragen:" << endl << endl; ECPGset_var( 0, &( offset ), __LINE__);\ /* declare yyy cursor for select q . \"ID\" , q . question , q . answer0 , q . answer1 , q . answer2 , q . answer3 , c . name from gr2 . \"Questions\" q join gr2 . \"Categories\" c on q . category = c . \"ID\" order by c . \"ID\" limit 5 offset $1 */ #line 254 "F:\\postgrachelor\\project\\dbclient.pgc" { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare yyy cursor for select q . \"ID\" , q . question , q . answer0 , q . answer1 , q . answer2 , q . answer3 , c . name from gr2 . \"Questions\" q join gr2 . \"Categories\" c on q . category = c . \"ID\" order by c . \"ID\" limit 5 offset $1 ", ECPGt_int,&(offset),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 255 "F:\\postgrachelor\\project\\dbclient.pgc" int residl; residl = id; { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch first from yyy", ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(question),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans0),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans1),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans2),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans3),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(cat),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 260 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "00000")){ hQuestion = question; hAns0 = ans0; hAns1 = ans1; hAns2 = ans2; hAns3 = ans3; hCat = cat; hQuestion.erase(hQuestion.find_last_not_of(" \n\r\t")+1); hAns0.erase(hAns0.find_last_not_of(" \n\r\t")+1); hAns1.erase(hAns1.find_last_not_of(" \n\r\t")+1); hAns2.erase(hAns2.find_last_not_of(" \n\r\t")+1); hAns3.erase(hAns3.find_last_not_of(" \n\r\t")+1); hCat.erase(hCat.find_last_not_of(" \n\r\t")+1); cout << "Schema:" << endl; cout << "Frage: Kategorie" << endl << " Richtige Antwort" << endl << " Falsche Antwort 1" << endl << " Falsche Antwort 2" << endl << " Falsche Antwort 3" << endl << endl << endl; cout << hQuestion << ": " << hCat << endl; cout << " " << hAns0 << endl; cout << " " << hAns1 << endl; cout << " " << hAns2 << endl; cout << " " << hAns3 << endl; } else if(!strcmp(sqlca.sqlstate, "02000")) cout << "Die Tabelle ist leer!"; while(id != residl) { residl = id; { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch next from yyy", ECPGt_EOIT, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(question),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans0),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans1),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans2),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(ans3),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_char,(cat),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} #line 287 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "00000")){ hQuestion = question; hAns0 = ans0; hAns1 = ans1; hAns2 = ans2; hAns3 = ans3; hCat = cat; hQuestion.erase(hQuestion.find_last_not_of(" \n\r\t")+1); hAns0.erase(hAns0.find_last_not_of(" \n\r\t")+1); hAns1.erase(hAns1.find_last_not_of(" \n\r\t")+1); hAns2.erase(hAns2.find_last_not_of(" \n\r\t")+1); hAns3.erase(hAns3.find_last_not_of(" \n\r\t")+1); hCat.erase(hCat.find_last_not_of(" \n\r\t")+1); cout << hQuestion << ": " << hCat << endl; cout << " " << hAns0 << endl; cout << " " << hAns1 << endl; cout << " " << hAns2 << endl; cout << " " << hAns3 << endl; } } { ECPGtrans(__LINE__, NULL, "commit");} #line 308 "F:\\postgrachelor\\project\\dbclient.pgc" } void updateCategory(){ /* exec sql begin declare section */ #line 313 "F:\\postgrachelor\\project\\dbclient.pgc" int id ; #line 314 "F:\\postgrachelor\\project\\dbclient.pgc" char name [ 4001 ] ; /* exec sql end declare section */ #line 315 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "Welche Kategorie soll bearbeitet werden? (ID eingeben):" << endl; selectCategory(); cin >> id; cout << "Welchen neuen Namen soll die Kategorie bekommen?" << endl; ws(cin); cin.getline(name, sizeof(name)); if(id){ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Categories\" set name = $1 where \"ID\" = $2 ", ECPGt_char,(name),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 323 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "02000")) cout << "Kein derartiger Datensatz gefunden!"; else if(!strcmp(sqlca.sqlstate, "22021")) cout << "Umlaute bitte umschreiben (z.B. als \"ue\")!"; { ECPGtrans(__LINE__, NULL, "commit");} #line 326 "F:\\postgrachelor\\project\\dbclient.pgc" } } void updateQuestion(){ /* exec sql begin declare section */ #line 332 "F:\\postgrachelor\\project\\dbclient.pgc" int id ; #line 333 "F:\\postgrachelor\\project\\dbclient.pgc" char question [ 4001 ] ; #line 334 "F:\\postgrachelor\\project\\dbclient.pgc" char ans0 [ 4001 ] ; #line 335 "F:\\postgrachelor\\project\\dbclient.pgc" char ans1 [ 4001 ] ; #line 336 "F:\\postgrachelor\\project\\dbclient.pgc" char ans2 [ 4001 ] ; #line 337 "F:\\postgrachelor\\project\\dbclient.pgc" char ans3 [ 4001 ] ; #line 338 "F:\\postgrachelor\\project\\dbclient.pgc" int cat ; /* exec sql end declare section */ #line 339 "F:\\postgrachelor\\project\\dbclient.pgc" char choice = 0; cout << "Welche Frage soll bearbeitet werden? (ID eingeben):" << endl; cin >> id; if(id){ cout << "Was soll an der Frage geaendert werden?" << endl << "(f): Die Fragenstellung" << endl << "(0): Die richtige Antwort" << endl << "(1)-(3): Eine der falschen Antworten" << endl << "(k): Die Kategorie" << endl; cin >> choice; switch(choice){ case 'f': cout << "Neue Fragenstellung: "; ws(cin); cin.getline(question, sizeof(question)); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Questions\" set question = $1 where \"ID\" = $2 ", ECPGt_char,(question),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 351 "F:\\postgrachelor\\project\\dbclient.pgc" break; case '0': cout << "Neue richtige Antwort: "; ws(cin); cin.getline(ans0, sizeof(ans0)); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Questions\" set answer0 = $1 where \"ID\" = $2 ", ECPGt_char,(ans0),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 357 "F:\\postgrachelor\\project\\dbclient.pgc" break; case '1': cout << "Neue falsche Antwort: "; ws(cin); cin.getline(ans1, sizeof(ans1)); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Questions\" set answer1 = $1 where \"ID\" = $2 ", ECPGt_char,(ans1),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 363 "F:\\postgrachelor\\project\\dbclient.pgc" break; case '2': cout << "Neue falsche Antwort: "; ws(cin); cin.getline(ans2, sizeof(ans2)); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Questions\" set answer2 = $1 where \"ID\" = $2 ", ECPGt_char,(ans2),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 369 "F:\\postgrachelor\\project\\dbclient.pgc" break; case '3': cout << "Neue falsche Antwort: "; ws(cin); cin.getline(ans3, sizeof(ans3)); { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Questions\" set answer3 = $1 where \"ID\" = $2 ", ECPGt_char,(ans3),(long)4001,(long)1,(4001)*sizeof(char), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 375 "F:\\postgrachelor\\project\\dbclient.pgc" break; case 'k': cout << "Neue Kategorie (ID):" << endl; selectCategory(); cin >> cat; { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "update gr2 . \"Questions\" set category = $1 where \"ID\" = $2 ", ECPGt_int,&(cat),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 381 "F:\\postgrachelor\\project\\dbclient.pgc" break; } if(!strcmp(sqlca.sqlstate, "02000")) cout << "Kein derartiger Datensatz gefunden!"; else if(!strcmp(sqlca.sqlstate, "22021")) cout << "Umlaute bitte umschreiben (z.B. als \"ue\")!"; { ECPGtrans(__LINE__, NULL, "commit");} #line 386 "F:\\postgrachelor\\project\\dbclient.pgc" } } void deleteCategory(){ /* exec sql begin declare section */ #line 392 "F:\\postgrachelor\\project\\dbclient.pgc" int id ; /* exec sql end declare section */ #line 393 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "Welche Kategorie? (ID)" << endl; selectCategory(); cin >> id; if(id){ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "delete from gr2 . \"Categories\" where \"ID\" = $1 ", ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 398 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "23503")) cout << "Kategorie kann nicht geloescht werden! (Existieren noch Fragen mit der Kategorie?)" << endl; else if(!strcmp(sqlca.sqlstate, "02000")) cout << "Kategorie existiert nicht!" << endl; { ECPGtrans(__LINE__, NULL, "commit");} #line 401 "F:\\postgrachelor\\project\\dbclient.pgc" } } void deleteQuestion(){ /* exec sql begin declare section */ #line 407 "F:\\postgrachelor\\project\\dbclient.pgc" int id ; /* exec sql end declare section */ #line 408 "F:\\postgrachelor\\project\\dbclient.pgc" cout << "Welche Frage? (ID)" << endl; selectCategory(); cin >> id; if(id){ { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "delete from gr2 . \"Questions\" where \"ID\" = $1 ", ECPGt_int,&(id),(long)1,(long)1,sizeof(int), ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);} #line 413 "F:\\postgrachelor\\project\\dbclient.pgc" if(!strcmp(sqlca.sqlstate, "02000")) cout << "Frage existiert nicht!" << endl; { ECPGtrans(__LINE__, NULL, "commit");} #line 415 "F:\\postgrachelor\\project\\dbclient.pgc" } } void cinClear() { char Muell; cin.clear(); do { cin.get(Muell); } while (Muell != '\n'); }