Prüfungsamt-Projekt  1.0.0
sqlconnection.h
gehe zur Dokumentation dieser Datei
00001 // ##########################################################################
00002 // ####                                                                  ####
00003 // ####                         Prüfungsamt-Client                       ####
00004 // ####                    ============================                  ####
00005 // ####                                                                  ####
00006 // #### Datenbank-Verbindung                                             ####
00007 // ####                                                                  ####
00008 // #### Version 1.00  --  12. Juli 2000                                  ####
00009 // ####                                                                  ####
00010 // #### Copyright (C) 2000  Thomas Dreibholz                             ####
00011 // ####                     Universität Bonn                             ####
00012 // ####                     EMail: dreibh@iem.uni-due.de                 ####
00013 // ####                     WWW:   https://www.nntb.no/~dreibh        ####
00014 // ####                                                                  ####
00015 // ##########################################################################
00016 
00017 
00018 #ifndef SQL_CONNECTION_H
00019 #define SQL_CONNECTION_H
00020 
00021 
00022 #include "system.h"
00023 #include "sqlconnectioninterface.h"
00024 
00025 
00026 #ifdef DEBUG
00027 #undef DEBUG
00028 #endif
00029 #include <libpq++.h>
00030 
00031 
00039 class SQLConnection : virtual public SQLConnectionInterface
00040 {
00041    // ====== Constructor ====================================================
00048    public:
00049    SQLConnection(PgDatabase* database, SQLMonitorInterface* monitor = NULL);
00050 
00051 
00052    // ====== Transaktionsbefehle ============================================
00058    void beginTransaction();
00059 
00065    void commitTransaction();
00066 
00072    void rollbackTransaction();
00073 
00074 
00075    // ====== Befehl ausführen ===============================================
00081    void execute(const char* command);
00082 
00083 
00084    // ====== Cursor-Befehle =================================================
00090    void createCursor(const char* cursorName, const char* command);
00091 
00097    void fetchCursor(const char* cursorName, const char* what);
00098 
00104    void deleteCursor(const char* cursorName);
00105 
00111    cardinal getTuples();
00112 
00118    cardinal getFields();
00119 
00125    const char* getField(cardinal col);
00126 
00132    const char* getValue(cardinal row, cardinal col);
00133 
00139    void optimize(const char* tableName);
00140 
00141 
00142    // ====== SQL-Monitor-Befehle ============================================
00148    SQLMonitorInterface* getMonitor() const;
00149 
00155    void setMonitor(SQLMonitorInterface* monitor);
00156 
00157 
00158    // ====== Private Daten ==================================================
00159    private:
00160    bool executeCommandOk(const char* command);
00161    bool executeTuplesOk(const char* command);
00162 
00163 
00164    PgDatabase*          Database;
00165    SQLMonitorInterface* Monitor;
00166    bool                 Transaction;
00167 };
00168 
00169 
00170 #endif
 Alle Klassen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Freundbeziehungen Makrodefinitionen