API:FireDAC.Comp.Client.TFDQuery.Indexes
Delphi
property Indexes;
C++
__property Indexes;
Inhaltsverzeichnis
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
property | published | FireDAC.Comp.Client.pas FireDAC.Comp.Client.hpp |
FireDAC.Comp.Client | TFDQuery |
Beschreibung
Listet alle Client-Indizes auf, die für die Datenmenge gelten.
FireDAC.Comp.Client.TFDQuery.Indexes erbt von FireDAC.Comp.DataSet.TFDDataSet.Indexes. Der folgende Inhalt bezieht sich auf FireDAC.Comp.DataSet.TFDDataSet.Indexes.
Listet alle Client-Indizes auf, die für die Datenmenge gelten.
Mit Indexes definieren Sie clientseitige Datensichten für die Datensätze der Datenmenge. Indexes sind eine Kollektion der TFDIndex-Objekte. Jedes Objekt daraus definiert optional Folgendes:
- Sortierung nach Feldern (Fields, CaseInsFields, DescFields, Options).
- Sortierung nach Ausdrücken (Expression, Options).
- Datensatzfilter (Filter, FilterOptions).
- Datensatzunterscheidungs-Flag (Distinct).
Die einzelnen Indizes sind nicht nur die Sortier- und Filterdefinitionen. Während die Anwendung Daten abruft oder bearbeitet, verwaltet FireDAC für jeden aktiven Index eine konsistente Sicht der Daten. Dadurch wird zusätzlicher Overhead produziert, ermöglicht aber, dass ohne Verzögerung zwischen Indizes gewechselt werden kann.
Setzen Sie die Eigenschaft Selected einer Sicht auf True oder die Eigenschaft IndexName der Datenmenge auf den Sichtnamen, damit die Sicht zur aktuellen wird.
Hinweis: Die Eigenschaft Active der Sicht muss auf True gesetzt sein, damit sie beibehalten wird.
Die Datenmenge behält Indexes-Sichten bei, wenn IndexesActive True ist. Wenn in einer Anwendung Stapel-Aktualisierungen der Datenmenge vorgenommen werden müssen, dann setzen Sie vor der Aktualisierung IndexesActive auf False und geben nach der Aktualisierung wieder den Originalwert an. Siehe auch die Methoden BeginBatch und EndBatch.
Durch Setzen von IndexFieldNames wird der Indexes-Kollektion kein TFDIndex-Objekt hinzugefügt. Wenn Sie IndexDefs vor dem Öffnen der Datenmenge festlegen, wird Indexes geleert und mit den IndexDefs-Informationen gefüllt. Daher gibt es zwei Alternativen: Verwendung von IndexDefs oder von Indexes. Verwenden Sie Indexes, da Sie damit eine größere Flexibilität erhalten.
Einige der Navigationsmethoden, wie Locate, LocateEx, Lookup, LookupEx, SetRange, verwenden Indizes zum Optimieren ihrer Operationen.
Die Sortier- und Filterausdrücke in Indexes unterstützen die erweiterte Ausdruckssyntax.
Beispiel
with FDMemTable1.Indexes.Add do begin
Name := 'by_name';
Fields := 'NAME;DT';
Active := True;
end;
with FDMemTable1.Indexes.Add do begin
Name := 'by_payments';
Expression := 'sum(sal + bonus)';
Filter := 'dep_id is not null;
Active := True;
end;
FDMemTable1.IndexesActive := True;
FDMemTable1.IndexName := 'by_name';
Siehe auch
- Sortieren von Datensätzen
- Erstellen von Ausdrücken
- FireDAC.Comp.DataSet.TFDDataSet.IndexDefs
- FireDAC.Comp.DataSet.TFDDataSet.IndexesActive
- FireDAC.Comp.DataSet.TFDDataSet.IndexFieldNames
- FireDAC.Comp.DataSet.TFDDataSet.IndexName
- FireDAC.Comp.DataSet.TFDDataSet.BeginBatch
- FireDAC.Comp.DataSet.TFDDataSet.EndBatch
Beispiele
- FireDAC TFDQuery Indices (Beispiel)