TbeCbPgQuery
TbeCbPgQuery
Die Klasse dient zur Ausführung von SQL Select Befehlen auf einer PostgreSQL Tabelle.
Eigenschaften
Eigenschaft | Beschreibung |
---|---|
Connection:O | Verbindungsobjekt TbeCbPgConnection |
CbSQLText:C | SQL Select Befehl |
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. |
Funktionen
Funktion | Parameter | Beschreibung |
---|---|---|
CbParams():O Liste der Parameter-Objekte | ||
CbParamCount():N Anzahl der Parameter | ||
CbParamByName():O Parameter-Objekt über den Namen ermitteln | aName:C | Name des Parameters |
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
Methode | Parameter | Beschreibung |
---|---|---|
CbOpen() SQL Select Befehl zur Anzeige einer Datenmenge ausführen | ||
CbClose() Datenmenge schließen | ||
CbPrepare() SQL Select Befehl vorbereiten, notwendig wenn mit Parametern gearbeitet wird | ||
CbSetParamByName() Wert für einen Parameter per Name setzen | aName:C | Name des Parameters |
aValue:U | Wert des Parameters | |
CbSetParamByIndex() Wert für einen Parameter per Index setzen | aIndex:N | Index des Parameters |
aValue:U | Wert des Parameters | |
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. |
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 |
Beispiel
| oCbPgConnection, oCbPgQuery, oTempBeMemTable, r, b, s |
startseq
oCbPgConnection := CreateObject('TbeCbPgConnection'),
oCbPgQuery := CreateObject('TbeCbPgQuery'),
oTempBeMemTable := CreateObject('TBeMemTable'),
r := ClassName(oCbPgConnection), // ClassName(Object) zum Result hinzufügen
r := r + CRLF + ClassName(oCbPgQuery), // ClassName(Object) zum Result hinzufügen
oCbPgConnection.CbConnect(),
oCbPgQuery.Connection := oCbPgConnection,
oCbPgQuery.CbSQLText := 'SELECT * FROM dab000 WHERE SUCHE LIKE ''%A%''',
Writeln('Query active before CbOpen(): ' + iif(oCbPgQuery.Active, 'true', 'false') + ', RecNo: ' + Str(oCbPgQuery.CbRecNo) + ', DataAvailable: ' + iif(oCbPgQuery.CbDataAvailable, 'true', 'false')),
oCbPgQuery.CbOpen(),
Writeln('Query active after CbOpen(): ' + iif(oCbPgQuery.Active, 'true', 'false') + ', RecNo: ' + Str(oCbPgQuery.CbRecNo) + ', DataAvailable: ' + iif(oCbPgQuery.CbDataAvailable, 'true', 'false')),
DbGotop(oCbPgQuery),
Writeln('Query on top after DBGoTop(): ' + iif(oCbPgQuery.CbBOF, 'true', 'false') + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbLast(),
Writeln('Query on end after CbLast(): ' + iif(oCbPgQuery.CbEOF, 'true', 'false') + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbFirst(),
Writeln('Query on top after CbFirst(): ' + iif(oCbPgQuery.CbBOF, 'true', 'false') + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
WriteLn('Kunde after CbFirst(): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
DbSkip(1, oCbPgQuery),
WriteLn('Kunde after DbSkip(1): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbNext(),
WriteLn('Kunde after CbNext(): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbMove(-1),
WriteLn('Kunde after DbMove(-1): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbPrior(),
WriteLn('Kunde after CbPrior(): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo) + ', Query on top after CbPrior: ' + iif(oCbPgQuery.CbBOF, 'true', 'false')),
oCbPgQuery.CbGoTo(3),
WriteLn('Kunde after CbGoTo(3): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)+ ', *bookmarked'),
b := oCbPgQuery.CbBookmark,
oCbPgQuery.CbLast(),
WriteLn('Last record RecNo: ' + Str(oCbPgQuery.CbRecNo)),
WriteLn('Last record: ' + ArrToStr(oCbPgQuery.CbGetRecAsArray())),
WriteLn('DbFCount: ' + Str(DbFCount(oCbPgQuery))),
WriteLn('CbFieldCount: ' + Str(oCbPgQuery.CbFieldCount)),
WriteLn('CbRecordCount: ' + Str(oCbPgQuery.CbRecordCount)),
oCbPgQuery.CbGoTo(oCbPgQuery.CbRecordCount - 2),
WriteLn('Kunde after CbGoTo(CbRecordCount - 2): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
s := oCbPgQuery.CbDisplayText('MATCHCODE'),
oCbPgQuery.CbFirst(),
Writeln('Kunde after CbFirst(): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbLocate('MATCHCODE', {s}, 0),
WriteLn('Kunde after CbLocate(CbDisplayText): ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
oCbPgQuery.CbBookmark := b,
WriteLn('Kunde after CbBookmark: ' + oCbPgQuery:MATCHCODE + ', RecNo: ' + Str(oCbPgQuery.CbRecNo)),
// DatenKopieren
oTempBeMemTable.CbBorrowFromDataSet(oCbPgQuery),
oTempBeMemTable.CbOpen(),
oTempBeMemTable.CbLoadFromDataSet(oCbPgQuery, true),
WriteLn(oTempBeMemTable.CbGetRecAsArray()),
Writeln('Query active before CbClose: ' + iif(oCbPgQuery.Active, 'true', 'false')),
oCbPgQuery.CbClose(),
Writeln('Query active after CbClose: ' + iif(oCbPgQuery.Active, 'true', 'false')),
always
oCbPgConnection.CbDisconnect(),
DestroyObject(oCbPgConnection),
DestroyObject(oCbPgQuery),
DestroyObject(oTempBeMemTable),
stopseq,
r
Weitere Verknüpfungen