Skip to main content
Skip table of contents

TbeCbPgQuery

TbeCbPgQuery

Die Klasse dient zur Ausführung von SQL Select Befehlen auf einer PostgreSQL Tabelle.

Eigenschaften

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

FunktionParameterBeschreibung

CbParams():O

Liste der Parameter-Objekte



CbParamCount():N

Anzahl der Parameter



CbParamByName():O

Parameter-Objekt über den Namen ermitteln

aName:CName des Parameters

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

MethodeParameterBeschreibung

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:CName des Parameters
aValue:UWert des Parameters

CbSetParamByIndex()

Wert für einen Parameter per Index setzen

aIndex:NIndex des Parameters
aValue:UWert 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: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.



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

Beispiel

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

JavaScript errors detected

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

If this problem persists, please contact our support.