sql.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. struct pg_conn; // libpq-fe.h
  2. struct pg_result; // libpq-fe.h
  3. #ifdef WIN32
  4. #ifdef _DEBUG
  5. #ifndef _LTMDB
  6. #define _CRTDBG_MAP_ALLOC
  7. #include <stdlib.h>
  8. #include <crtdbg.h>
  9. #define DEBUG_CLIENTBLOCK new( _CLIENT_BLOCK, __FILE__, __LINE__)
  10. #define new DEBUG_CLIENTBLOCK
  11. #define _LTMDB
  12. #endif
  13. #endif
  14. #else
  15. #define __declspec( x )
  16. #define __int64 long long
  17. #endif
  18. #include <ReferenceCounter.h>
  19. namespace Framework
  20. {
  21. class Text; // Text.h
  22. }
  23. namespace sql
  24. {
  25. struct Result; // aus dieser Datei
  26. class Datenbank; // aus dieser Datei
  27. struct Result
  28. {
  29. int feldAnzahl;
  30. Framework::Text *felder;
  31. int zeilenAnzahl;
  32. Framework::Text *values;
  33. __declspec( dllexport ) void destroy();
  34. };
  35. class Datenbank : public virtual Framework::ReferenceCounter
  36. {
  37. private:
  38. pg_conn *conn;
  39. pg_result *res;
  40. public:
  41. // Konstruktor
  42. __declspec( dllexport ) Datenbank( const char *user, const char *passwort, const char *dbname, const char *ip, unsigned short port );
  43. // Destruktor
  44. __declspec( dllexport ) ~Datenbank();
  45. // nicht constant
  46. __declspec( dllexport ) bool befehl( const char *txt ); // führt einen Befehl aus
  47. // constant
  48. __declspec( dllexport ) int getZeilenAnzahl() const; // Anzahl der betroffenen zeilen
  49. __declspec( dllexport ) Result getResult() const; // gibt den rückgabewert des letzten Befehls zurück
  50. __declspec( dllexport ) Framework::Text *getLetzterFehler() const; // gibt den letzten Fehler zurück
  51. __declspec( dllexport ) bool istOk() const; // prüft, ob die Verbindung zur Datenbank besteht
  52. };
  53. }