IBX.IBCustomDataSet.TIBCustomDataSet.Lookup
Delphi
function Lookup(const KeyFields: string; const KeyValues: Variant;
const ResultFields: string): Variant; override;
C++
virtual System::Variant __fastcall Lookup(const System::UnicodeString KeyFields, const System::Variant &KeyValues, const System::UnicodeString ResultFields);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | IBX.IBCustomDataSet.pas IBX.IBCustomDataSet.hpp |
IBX.IBCustomDataSet | TIBCustomDataSet |
Beschreibung
Ruft Feldwerte aus einem Datensatz ab, der den angegebenen Suchwerten entspricht.
Mit Lookup können Werte für die angegebenen Felder aus einem Datensatz abgerufen werden, der dem Suchkriterium entspricht. KeyFields
ist ein String mit den Feldern, die durchsucht werden sollen. Trennen Sie die einzelnen Felder durch ein Semikolon.
KeyValues
ist ein variantes Array mit den Werten, nach denen in den Schlüsselfeldern (KeyFields) gesucht werden soll. Um nach mehreren Werten zu suchen, übergeben Sie in KeyValues
ein variantes Array als Argument oder verwenden die Routine System.Variants.VarArrayOf, um während der Ausführung ein variantes Array zu erzeugen.
ResultFields
ist ein String mit einer Liste von Feldnamen (jeweils durch Semikolon getrennt), deren Werte aus dem passenden Datensatz abgerufen werden sollen.
Lookup gibt ein variantes Array mit den Werten der in ResultFields
angegebenen Felder zurück. Wenn kein Datensatz passt, ruft die Methode Null auf, um eine Null-Variante zurückzugeben.
Sind die Suchfelder in KeyFields
indiziert, wird der Index von Lookup verwendet. Andernfalls erstellt Lookup einen Filter für die Suche.
Für eine Datenmenge IBDataSet1
und eine Verbindung zu einer Datenbank employee.gdb aus dem Interbase-Installationsverzeichnis sollte der Delphi-Code wie folgt aussehen:
var keyfield, keyvalue, resultVariant: Variant;
resultFields:string;
begin
keyfield:='COUNTRY';
keyvalue:='USA';
resultFields:='CURRENCY';
resultvar:=Form1.IBDataSet1.Lookup(keyfield,keyvalue,resultFields);
end;