sql.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. namespace Framework
  19. {
  20. class Text; // Text.h
  21. }
  22. namespace sql
  23. {
  24. struct Result; // aus dieser Datei
  25. class Datenbank; // aus dieser Datei
  26. struct Result
  27. {
  28. int feldAnzahl;
  29. Framework::Text *felder;
  30. int zeilenAnzahl;
  31. Framework::Text *values;
  32. __declspec( dllexport ) void destroy();
  33. };
  34. class Datenbank
  35. {
  36. private:
  37. pg_conn *conn;
  38. pg_result *res;
  39. int ref;
  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. // Reference Counting
  53. __declspec( dllexport ) Datenbank *getThis();
  54. __declspec( dllexport ) Datenbank *release();
  55. };
  56. }