Suchen von Datensätzen (FireDAC)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Arbeiten mit Datenmengen (FireDAC)


FireDAC enthält Methoden zum Suchen eines bestimmen Datensatzes in der Datenmenge.

Allgemeine Informationen

Alle FireDAC-Datenmengen stellen Methoden zum Suchen eines Datensatzes in einem lokalen Datenmengendatensatz-Zwischenspeicher bereit. Die Datensatzsuche kann abhängig von der aktuellen Sortierung optimiert werden.

Standardsuche

Die FireDAC-Datenmengen stellen mehrere Optionen zum Suchen eines Datensatzes oder Nachschlagen eines Wertes für einen bestimmten Schlüssel bereit. Diese Methoden verwenden den aktuellen Datenmengenindex, wenn dieser für den Methodenaufruf geeignet ist.

  • Mit der Methode Locate können Sie einen Datensatz für die angegebenen Schlüsselwerte suchen:
 FDQuery1.IndexFieldNames := 'ORDERID';
 if FDQuery1.Locate('ORDERID', 10150, []) then
   ShowMessage('Order is found')
 else
   ShowMessage('Order is not found');
  • Mit der Methode Lookup können Sie einen Wert für die angegebenen Schlüsselwerte nachschlagen.

Erweiterte Suche

Die FireDAC-Datenmengen stellen erweiterte Methoden zum Suchen eines Datensatzes bereit. Diese Methoden verwenden den aktuellen Datenmengenindex, wenn dieser für den Methodenaufruf geeignet ist.

  • Die Methode LocateEx ist mit der Methode Locate identisch, umfasst aber mehr Optionen, wie z. B. Vorwärts- oder Rückwärtssuche, Suche ab dem Beginn oder ab dem aktuellen Datensatz, Suche mit Textprädikaten (Ausdrücken). Zum Beispiel:
 if FDQuery1.LocateEx('Price >= 1000 and Price <= 2000', []) then
   ShowMessage('Order is found')
 else
   ShowMessage('Order is not found');
  • Die Methode LookupEx ist mit der Methode Lookup identisch, umfasst aber ähnliche Optionen wie die Methode LocateEx.

Weitere Optionen

Die meisten Suchmethoden geben True zurück, wenn ein Datensatz gefunden wurde. Alternativ kann in der Anwendung die Eigenschaft Found der Datenmenge überprüft werden.

Beachten Sie, dass FireDAC die Suche für Felder mit dem Typ fkCalculated und fkLookup nicht unterstützt. Aber die Anwendung kann für Suchoperationen die fkInternalCalc- und fkAggregate-Felder verwenden.

Siehe auch