struct pg_conn; // libpq-fe.h struct pg_result; // libpq-fe.h #ifdef WIN32 #ifdef _DEBUG #ifndef _LTMDB #define _CRTDBG_MAP_ALLOC #include #include #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__) #define new DEBUG_CLIENTBLOCK #define _LTMDB #endif #endif #else #define __declspec( x ) #define __int64 long long #endif #include namespace Framework { class Text; // Text.h } namespace sql { struct Result; // aus dieser Datei class Datenbank; // aus dieser Datei struct Result { int feldAnzahl; Framework::Text *felder; int zeilenAnzahl; Framework::Text *values; __declspec( dllexport ) void destroy(); }; class Datenbank : public virtual Framework::ReferenceCounter { private: pg_conn *conn; pg_result *res; public: // Konstruktor __declspec( dllexport ) Datenbank( const char *user, const char *passwort, const char *dbname, const char *ip, unsigned short port ); // Destruktor __declspec( dllexport ) ~Datenbank(); // nicht constant __declspec( dllexport ) bool befehl( const char *txt ); // führt einen Befehl aus // constant __declspec( dllexport ) int getZeilenAnzahl() const; // Anzahl der betroffenen zeilen __declspec( dllexport ) Result getResult() const; // gibt den rückgabewert des letzten Befehls zurück __declspec( dllexport ) Framework::Text *getLetzterFehler() const; // gibt den letzten Fehler zurück __declspec( dllexport ) bool istOk() const; // prüft, ob die Verbindung zur Datenbank besteht }; }