PQclass++ ermöglicht mit einem PostgreSQL Server zu kommunizieren.
Die Anbindung basiert auf der C-API von PostgreSQL.
Alle Tabellen werden als Tabellenobjekte abgebildet und sind daher mit XClass++ vollständig kompatibel.
Die Schnittstelle ist nicht auf eine bestimmte Version von PostgreSQL beschränkt. Es müssen nur die passenden Client DLLs geladen werden können:
Die Kommunikations DLL von PostgreSQL werden für 32bit installiert und unterstützen PostgreSQL ab Version 12.0.
libpq.dll
libssl-1_1.dll
libcrypto-1_1.dll
PQclass++ Vorteile:
Die verwendeten Tabellen müssen NICHT mit dem Upsize Tool von Alaska modifiziert werden.
Aber ein PRIMARAY KEY muss für UPDATE und DELETE existieren
PQclass++ untersützt Schemata
einfache Tabellen Abfragen bieten fast "live data", mit Ausnahme nach INSERT und DELETE von anderen Anwendungen.
Dazu muss die SQL Abfrage erneut ausgeführt werden
Unterstüutzt ENUM Datentyp
PQclass++ besteht aus mehreren Klassen:
dsPQconnection
Diese Klasse dient zur Verwaltung der Verbindung mit dem PostgreSQL Server. Hierüber erfolgt die Anmeldung, Steuerung der Transaktionen und andere globale Einstellungen
dsPQselect
Diese Klasse erstellt eine SQL Abfrage und arbeitet mit den Daten, welche von der PostgreSQL Schnittstelle auf dem Server zur Verfügung gestellt werden.
Eine Umsortierung kann nur durch eine neue Abfrage mit einer <order by> Anweisung erfolgen.
dsDebuglog
Diese Klasse dient zum Protokollierung von intern erzeugten SQL Statements. Sie kann dynamisch aktiviert werden.
dsMemoryTable
Klasse für Array mit Dataobjects, Methoden entsprechen jeder anderen Tabellenklasse
CXP helpers.dll
Sammlung von Funktionen und Klassen für Xbase++ CXP Seiten.
Implizite UPDATE oder DELETE können NUR erfolgen, wenn die Tabelle einen Primarykey enthält.
Nach einem UPDATE, INSERT oder DELETE wird die SQL Ergebnismenge erneut abgefragt, um die Daten wieder zu aktualisieren.
PQclass++ ist ab Xbase++ 2.0 einsetzbar.
PostgreSQL
Alle Informationen und Downloads dazu finden sich auf der Seite: www.postgresql.org
Es sollte in jedem Fall auch die Dokumentation von PostgreSQL gelesen werden.
Wichtig: PostgreSQL ist casesensitiv, Tabellen und Feldnamen. PostgreSQL empfiehlt, alles in Kleinbuchstaben zu definieren.
PostgreSQL Abfragen sind immer eine Kopie der Daten zum Zeitpunkt der Erstellung. Änderungen, die danach durch andere Benutzer erfolgen,
werden nicht in dieser Kopie wiedergegeben.
Dieses Verhalten ist anders als bei DBF Dateien, die solche Änderungen "live" abbilden können.