All pastes #2054356 Raw Edit

asd

public c v1 · immutable
#2054356 ·published 2011-05-05 21:04 UTC
rendered paste body
#include <stddef.h>                                     // Standardheader#include <stdio.h>										// Standardheader#include <stdlib.h>void ErrorHandler (void) {                              // im Fehlerfalle  printf("%li %li %li\n", SQLCODE, SQLERRD1, SQLERRMC); // Ausgabe von}                                                       // Fehlermeldungenint main ( int argc, char** argv, char** envp) {    exec  SQL BEGIN DECLARE SECTION;                    // Deklarationen-Start    char  server[] = "arnold.uni";                      // Server + DB    char  loginPasswort[] = "erika.mustermann";         // User + Passwort    int   persnr;                                       // Personalnummer    char  name[20];                                     // Name    char  rang[3];                                      // Rang    int   raum;                                         // Raum    char  gebdatum[17];                                 // Geburtsdatum    short raum_ind;                                     // Raum-Indikator    char eingaberang[3];                                // Eingabe vom User    EXEC SQL END DECLARE SECTION;                       // Deklarationen-Ende    EXEC SQL WHENEVER SQLERROR CALL ErrorHandler();     // Fehlermarke    EXEC SQL CONNECT TO :server USER :loginPasswort;    // Verbindung aufbauen    if (SQLCODE == 0) printf("Verbindung aufgebaut!\n");// Erfolg    else { printf("Keine Verbindung\n"); return (1); }  // Misserfolg    printf("Bitte Rang eingeben: ");                    // gewuenschten Rang    scanf("%s", eingaberang);                           // vom user holen    printf("Mit Rang %s gespeichert:\n", eingaberang);    EXEC SQL DECLARE C1 CURSOR FOR                      // Cursor vereinbaren      SELECT PersNr, Name, Rang, Raum, Gebdatum         // SQL-Statement      FROM Professoren      WHERE Rang = :eingaberang;    EXEC SQL OPEN C1;                                   // Cursor oeffnen    EXEC SQL FETCH C1 INTO :persnr, :name, :rang,       // Versuche eine Zeile             :raum INDICATOR :raum_ind, :gebdatum;      // zu lesen    while (SQLCODE == 0){                               // SOLANGE erfolgreich      printf("%d %s %s", persnr, name, rang);           // Tupel ausgeben      if(raum_ind == -1) printf(" ???");                // Platzhalter drucken       else printf("%4d", raum);                         // SONST Raumnr      printf(" %s\n", gebdatum);                        // letztes Attribut      EXEC SQL FETCH C1 INTO :persnr, :name, :rang,     // naechste Zeile lesen                  :raum INDICATOR :raum_ind, :gebdatum;     }    EXEC SQL CLOSE C1;                                  // Cursor schliessen    EXEC SQL DISCONNECT ALL;                            // Verbindung beenden    return (0);}