Skip to main content
Skip table of contents

TbeCbPgTable

TbeCbPgTable

Die Klasse öffnet eine Tabelle aus einem PostgreSQL Datenbank Server.

Eigenschaften

EigenschaftBeschreibung
Connection:OVerbindungsobjekt 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

FunktionParameterBeschreibung

CbField():O

Die Funktion ermittelt ein Datenbank-Feld-Objekt anhand des Feldindexes und liefert es zurück.
Result - Feld-Objekt vom Typ TField

nIndex:NIndex des Feldes

CbFieldByName():O

Die Funktion ermittelt ein Datenbank-Feld-Objekt anhand des Feldnamens und liefert es zurück.
Result - Feld-Objekt vom Type TField

cFieldName:CName des Feldes

CbLocate():L

Die Funktion sucht in der Tabelle nach frei definierbaren Werten, über frei definierbare Felder
Result - Datensatz gefunden

cKeyFields:C

Feldnamen der Felder die durchsucht werden sollen. Durch Semikolon getrennt:
'Feld1;Feld2'

cKeyValues:C

Suchbegriffe als Array:
{Wert1, Wert2}

nOptions:N

Suchoptionen:
loCaseInsensitive - Schlüsselfelder und Schlüsselwerte werden ohne Berücksichtigung der Groß-/Kleinschreibung verglichen
loPartialKey - Schlüsselwerte müssen nicht vollständig übereinstimmen

CbGetRecAsArray():O

Die Funtkion ermittelt den aktuellen Datensatz als Array. Jedes Feld ist ein Element des Arrays.
Result - Datensatz als Array



CbGoTo():L

Die Funktion springt zu dem Datensatz, dessen RecordNumber aRecordNo ist.
Result - Positionierung erfolgreich

nRecordNo:NRecordNumber des Datensatzes, auf den positioniert werden soll

Methoden

FunktionParameterBeschreibung

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:NAnzahl 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

CODE
| 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

Weitere Verknüpfungen

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.