TbeCbPgTable
TbeCbPgTable
Die Klasse öffnet eine Tabelle aus einem PostgreSQL Datenbank Server.
Eigenschaften
Eigenschaft | Beschreibung |
---|---|
Connection:O | Verbindungsobjekt TbeCbPgConnection |
TableName:C | Name der Tabelle |
Active:L | Aktiviert oder deaktiviert die Tabelle |
CbFieldCount:N | Liefert die Anzahl der Datenbank-Felder zurück |
CbBoF:L | "Begin of File". Gibt an, ob sich die Tabelle auf dem ersten Datensatz befindet |
CbEoF:L | "End of File". Gibt an, ob sich die Tabelle auf dem letzten Datensatz befindet |
CbBookmark:C | Speichert die Position des aktuellen Datensatzes in einem Bookmark-String und kann die Position wieder auf diesen Datensatz setzen. |
CbRecordCount:N | Liefert die Anzahl der aktuell sichtbaren Datensätze zurück |
CbRecNo:N | Liefert die Nummer des aktuellen Datensatzes zurück. |
CbDataAvailable:L | Die Eigenschaft ist True, wenn Datensätze sichtbar sind |
CbNoDataAvailable:L | Die Eigenschaft ist True, wenn keine Datensätze sichtbar sind (z.B. wenn die Tabelle gefiltert ist) |
Funktionen
Funktion | Parameter | Beschreibung |
---|---|---|
CbField():O Die Funktion ermittelt ein Datenbank-Feld-Objekt anhand des Feldindexes und liefert es zurück. | nIndex:N | Index des Feldes |
CbFieldByName():O Die Funktion ermittelt ein Datenbank-Feld-Objekt anhand des Feldnamens und liefert es zurück. | cFieldName:C | Name des Feldes |
CbLocate():L Die Funktion sucht in der Tabelle nach frei definierbaren Werten, über frei definierbare Felder | cKeyFields:C | Feldnamen der Felder die durchsucht werden sollen. Durch Semikolon getrennt: |
cKeyValues:C | Suchbegriffe als Array: | |
nOptions:N | Suchoptionen: | |
CbGetRecAsArray():O Die Funtkion ermittelt den aktuellen Datensatz als Array. Jedes Feld ist ein Element des Arrays. | ||
CbGoTo():L Die Funktion springt zu dem Datensatz, dessen RecordNumber aRecordNo ist. | nRecordNo:N | RecordNumber des Datensatzes, auf den positioniert werden soll |
Methoden
Funktion | Parameter | Beschreibung |
---|---|---|
CbOpen() Tabelle öffnen | ||
CbClose() Tabelle schließen | ||
CbFirst() Die Methode positioniert den Zeiger auf den ersten Datensatz der TbeCbPgQuery. | ||
CbLast() Die Methode positioniert den Zeiger auf den letzten Datensatz der TbeCbPgQuery. | ||
CbNext() Die Methode verschiebt den Zeiger um einen Datensatz nach unten. | ||
CbPrior() Die Methode verschiebt den Zeiger um einen Datensatz nach oben. | ||
CbMove() Die Methode verschiebt den Zeiger um die Anzahl der Datensätze aus nRecordCount in die gewünschte Richtung. Wenn nRecordCount negativ ist wird der Zeiger nach oben verschoben, wenn nRecordCount positiv ist, wird der Zeiger nach unten verschoben | nRecordCount:N | Anzahl der Datensätze um die der Zeiger verschoben werden soll. |
CbRefresh() Die Methode aktualisiert die TbeCbPgQuery, das heißt, es werden alle Datensätze erneut eingelesen. |
Beispiel
| oCbPgConnection, oCbPgTable, oTempBeMemTable, r, s, b |
startseq
oCbPgConnection := CreateObject('TbeCbPgConnection'),
oCbPgTable := CreateObject('TbeCbPgTable'),
oTempBeMemTable := CreateObject('TBeMemTable'),
r := ClassName(oCbPgConnection), // ClassName(Object) zum Result hinzufügen
r := r + CRLF + ClassName(oCbPgTable), // ClassName(Object) zum Result hinzufügen
oCbPgConnection.CbConnect(),
oCbPgTable.Connection := oCbPgConnection,
oCbPgTable.TableName := 'dab000',
Writeln('Table active before CbOpen(): ' + iif(oCbPgTable.Active, 'true', 'false') + ', RecNo: ' + Str(oCbPgTable.CbRecNo) + ', DataAvailable: ' + iif(oCbPgTable.CbDataAvailable, 'true', 'false')),
oCbPgTable.CbOpen(),
Writeln('Table active after CbOpen(): ' + iif(oCbPgTable.Active, 'true', 'false') + ', RecNo: ' + Str(oCbPgTable.CbRecNo) + ', DataAvailable: ' + iif(oCbPgTable.CbDataAvailable, 'true', 'false')),
DbGotop(oCbPgTable),
Writeln('Table on top after DBGoTop(): ' + iif(oCbPgTable.CbBOF, 'true', 'false') + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbLast(),
Writeln('Table on end after CbLast(): ' + iif(oCbPgTable.CbEOF, 'true', 'false') + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbFirst(),
Writeln('Table on top after CbFirst(): ' + iif(oCbPgTable.CbBOF, 'true', 'false') + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
WriteLn('Kunde after CbFirst(): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
DbSkip(1, oCbPgTable),
WriteLn('Kunde after DbSkip(1): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbNext(),
WriteLn('Kunde after CbNext(): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbMove(-1),
WriteLn('Kunde after DbMove(-1): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbPrior(),
WriteLn('Kunde after CbPrior(): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo) + ', Table on top after CbPrior: ' + iif(oCbPgTable.CbBOF, 'true', 'false')),
oCbPgTable.CbGoTo(3),
WriteLn('Kunde after CbGoTo(3): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)+ ', *bookmarked'),
b := oCbPgTable.CbBookmark,
oCbPgTable.CbLast(),
WriteLn('Last record RecNo: ' + Str(oCbPgTable.CbRecNo)),
WriteLn('Last record: ' + ArrToStr(oCbPgTable.CbGetRecAsArray())),
WriteLn('DbFCount: ' + Str(DbFCount(oCbPgTable))),
WriteLn('CbFieldCount: ' + Str(oCbPgTable.CbFieldCount)),
WriteLn('CbRecordCount: ' + Str(oCbPgTable.CbRecordCount)),
oCbPgTable.CbGoTo(oCbPgTable.CbRecordCount - 2),
WriteLn('Kunde after CbGoTo(CbRecordCount - 2): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
s := oCbPgTable.CbDisplayText('MATCHCODE'),
oCbPgTable.CbFirst(),
Writeln('Kunde after CbFirst(): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbLocate('MATCHCODE', {s}, 0),
WriteLn('Kunde after CbLocate(CbDisplayText): ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
oCbPgTable.CbBookmark := b,
WriteLn('Kunde after CbBookmark: ' + oCbPgTable:MATCHCODE + ', RecNo: ' + Str(oCbPgTable.CbRecNo)),
// Tabelle Kopieren
oTempBeMemTable.CbBorrowFromDataSet(oCbPgTable),
oTempBeMemTable.CbOpen(),
oTempBeMemTable.CbLoadFromDataSet(oCbPgTable, true),
WriteLn(oTempBeMemTable.CbGetRecAsArray()),
Writeln('Table active before CbClose: ' + iif(oCbPgTable.Active, 'true', 'false')),
oCbPgTable.CbClose(),
Writeln('Table active after CbClose: ' + iif(oCbPgTable.Active, 'true', 'false')),
oTempBeMemTable.CbClose(),
always
oCbPgConnection.CbDisconnect(),
DestroyObject(oCbPgConnection),
DestroyObject(oCbPgTable),
DestroyObject(oTempBeMemTable),
stopseq,
r