/*********************************************************/ /* Quelltext: stud1.ec */ /* Zweck: Einfaches Beispiel eines ESQL/C-Zugriffs */ /* auf eine RDB. */ /* Stand: 01.12.2003 */ /* Verfasser: Prof. Dr. G. Buechel */ /* */ /*********************************************************/ #include int main() { int iz=0, i=0; double sbsum=0.; EXEC SQL BEGIN DECLARE SECTION; int matr; char nam[31]; char vornam[31]; char tel[21]; double sozbt; EXEC SQL END DECLARE SECTION; EXEC SQL DATABASE fhkoeln; EXEC SQL DECLARE suc1 CURSOR FOR SELECT MATRIKELNR, NAME, VORNAME, TELEFON, SOZIALBTG INTO :matr, :nam, :vornam, :tel, :sozbt FROM STUDENT ORDER BY MATRIKELNR; EXEC SQL OPEN suc1; if (sqlca.sqlcode!=0) printf("FEHLER(open)=%ld\n",sqlca.sqlcode); printf("Studierendentabelle:\n"); do { EXEC SQL FETCH suc1; if (sqlca.sqlcode!=0) {printf("(fetch)=%ld\n",sqlca.sqlcode); continue; } /* Verarbeitung einer Ergebniszeile */ iz=iz+1; sbsum=sbsum+sozbt; printf("-> %d %s %s %s %lf \n",matr,nam,vornam,tel,sozbt); } while (sqlca.sqlcode==0); printf("Anzahl Ergebniszeilen: %d Summe Sozialbeitr.: %lf \n", iz,sbsum); return i; }