TbeCbPgConnection
Die Klasse stellt eine Verbindung zu einem PostgreSQL Datenbank Server her.
Die Verbindungs-Einstellungen müssen zuvor in den Fensterwerten unter beng Einstellungen → PostgreSQL Einstellung vorgenommen werden.
Ansonsten können die Einstellungen auch über die Eigenschaften gesetzt werden.
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
Server:C |
Name oder IP des PostgreSQL Serveres |
|
Port:N |
Port des Servers |
|
CbUsername:C |
Benutzername für die Anmeldung |
|
CbPassword:C |
Passwort für die Anmeldung |
|
Database:C |
Datenbank auf welche die Verbindung erfolgen soll |
|
Schema:C |
Schema der Datenbank auf welche die Verbindung erfolgen soll |
Funktionen
|
Funktion |
Parameter |
Beschreibung |
|---|---|---|
|
CbConnect() Verbindung herstellen |
|
|
|
CbDisconnect() Verbindung schließen |
|
|
|
CbStartTransaction() Transaktion starten |
|
|
|
CbCommit() Transaktion bestätigen |
|
|
|
CbRollback() Transaktion abbrechen und Änderungen verwerfen |
|
|
|
CbInTransaction(): boolean Prüfung ob die Transaktion aktiv ist |
|
|
|
CbGetDatabaseNames(): variant Liste aller verfügbaren Datenbanken |
|
|
|
CbGetTableNames(): variant Liste aller verfügbaren Tabllennamen |
|
|
Beispiel
| oCbPgConnection, oCbPgTable, oCbPgQuery, oCbPgSQL, oTempBeMemTable, r |
startseq
oCbPgConnection := CreateObject('TbeCbPgConnection'),
oCbPgTable := CreateObject('TbeCbPgTable'),
oCbPgQuery := CreateObject('TbeCbPgQuery'),
oCbPgSQL := CreateObject('TbeCbPgSQL'),
oTempBeMemTable := CreateObject('TBeMemTable'),
r := ClassName(oCbPgConnection), // ClassName(Object) zum Result hinzufügen
r := r + CRLF + ClassName(oCbPgTable), // ClassName(Object) zum Result hinzufügen
r := r + CRLF + ClassName(oCbPgQuery), // ClassName(Object) zum Result hinzufügen
r := r + CRLF + ClassName(oCbPgSQL), // ClassName(Object) zum Result hinzufügen
//oCbPgConnection.Database := '',
//oCbPgConnection.Server := '',
//oCbPgConnection.Port := 50100,
//oCbPgConnection.CbUsername := '',
//oCbPgConnection.CbPassword := '',
oCbPgConnection.CbConnect(),
oCbPgTable.Connection := oCbPgConnection,
oCbPgTable.TableName := 'dab000',
oCbPgTable.CbOpen(),
DbGotop(oCbPgTable),
WriteLn(oCbPgTable:MATCHCODE),
DbSkip(1, oCbPgTable),
WriteLn(oCbPgTable:MATCHCODE),
WriteLn(DbFCount(oCbPgTable)),
oTempBeMemTable.CbBorrowFromDataSet(oCbPgTable),
oTempBeMemTable.CbOpen(),
oTempBeMemTable.CbLoadFromDataSet(oCbPgTable, true),
WriteLn(oTempBeMemTable.CbGetRecAsArray()),
oCbPgTable.CbClose(),
oTempBeMemTable.CbClose(),
oCbPgQuery.Connection := oCbPgConnection,
oCbPgQuery.CbSQLText := 'SELECT * FROM dab000 WHERE ''SUCHE'' LIKE ''SA%''',
oCbPgQuery.CbOpen(),
DbGotop(oCbPgQuery),
WriteLn(oCbPgQuery:MATCHCODE),
DbSkip(1, oCbPgQuery),
WriteLn(oCbPgQuery:MATCHCODE),
WriteLn(DbFCount(oCbPgQuery)),
oTempBeMemTable.CbBorrowFromDataSet(oCbPgQuery),
oTempBeMemTable.CbOpen(),
oTempBeMemTable.CbLoadFromDataSet(oCbPgQuery, true),
WriteLn(oTempBeMemTable.CbGetRecAsArray()),
oCbPgQuery.CbClose(),
oTempBeMemTable.CbClose(),
startseq
oCbPgSQL.Connection := oCbPgConnection,
oCbPgSQL.CbSQLText := 'UPDATE dab000 SET NAME3 = NAME3',
oCbPgSQL.CbExecute(),
WriteLn(oCbPgSQL.CbRowsAffected()),
onerror
WriteLn(GetErrorText(GetErrorObj())),
stopseq,
always
oCbPgConnection.CbDisconnect(),
DestroyObject(oCbPgConnection),
DestroyObject(oCbPgTable),
DestroyObject(oCbPgQuery),
DestroyObject(oCbPgSQL),
DestroyObject(oTempBeMemTable),
stopseq,
r