Datasnap.DBClient.TCustomClientDataSet.LocateRecord
Delphi
function LocateRecord(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions; SyncCursor: Boolean): Boolean;
C++
bool __fastcall LocateRecord(const System::UnicodeString KeyFields, const System::Variant &KeyValues, Data::Db::TLocateOptions Options, bool SyncCursor);
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | protected | Datasnap.DBClient.pas Datasnap.DBClient.hpp |
Datasnap.DBClient | TCustomClientDataSet |
Beschreibung
Durchsucht die Datenmenge nach einem bestimmten Datensatz.
Rufen Sie LocateRecord, um die Datenmenge nach einem bestimmten Datensatz zu durchsuchen. KeyFields ist ein String, das eine Liste von Feldnamen enthält, die durch Strichpunkte voneinander getrennt sind. In dieser Liste wird die Suche ausgeführt.
KeyValues ist ein Variant, das die in den Schlüsselfelder zu passenden Werte enthält. Wenn KeyFields ein einziges Feld aufführt, repräsentiert KeyValues den Suchwert dieses Felds. Wenn KeyFields mehrere Felder aufführt, soll einen Variant-Array als der KeyValues-Parameter übergeben werden. In Delphi können Sie einen varianten Array mithilfe einer VarArrayOf-Routine schnell und einfach erstellen. Zum Beispiel:
with CustTable do
LocateRecord('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '831-431-1000']), [loPartialKey], False);
TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey;
Variant locvalues[3];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");
locvalues[2] = Variant("831-431-1000");
CustTable->LocateRecord("Company;Contact;Phone", VarArrayOf(locvalues, 2), Opts, False);
Options ist eine Menge, die zusätzliche Suchberite zum Suchen auf String-Felder optional festlegt. Wenn Options die loCaseInsensitive-Einstellung enthält, wird LocateRecord die Groß-/Kleinschreibung bei der Zuordnung von Feldern ignorieren. Wenn Options die loPartialKey-Einstellung enthält, kann der KeyValues-Parameter unvollständige Strings für Feldwerte festlegen. (In dem vorherigen Anweisung kann z.B. das Feld Contact allen Datensätze entsprechen, wenn Contact mit 'P' beginnt). Wenn Options eine leere Menge ist, oder wenn KeyFields keine String-Felder sind, wird Options ignoriert.
Der SyncCursor-Parameter wird auf True bzw. False gesetzt, um festzulegen, ob der Cursor auf die Position des gefundenen Datensatzes gesetzt ist oder nicht.
LocateRecord gibt True zurück, wenn ein passender Datensatz gefunden wird; ansonsten gibt LocateRecord False zurück.