Data.DB.TField.LookupCache

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

property LookupCache: Boolean read FLookupCache write SetLookupCache default False;

C++

__property bool LookupCache = {read=FLookupCache, write=SetLookupCache, default=0};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
property published
Data.DB.pas
Data.DB.hpp
Data.DB TField

Beschreibung

Legt fest, ob die Werte für ein Lookup-Feld zwischengespeichert oder jedes Mal dynamisch gesucht werden, wenn sich der aktuelle Datensatz der Datenmenge ändert.

Setzen Sie LookupCache auf true, damit die Werte eines Lookup-Feldes zwischengespeichert werden, wenn es unwahrscheinlich ist, dass sich LookupDataSet ändert, und wenn die Anzahl der unterschiedlichen Lookup-Werte niedrig ist. Das Zwischenspeichern von Lookup-Werten kann zur Erhöhung der Ausführungsgeschwindigkeit beitragen. Die Lookup-Werte für jede Menge von LookupKeyFields-Werten werden im Voraus beim Öffnen der DataSet-Komponente geladen. Wenn sich der aktuelle Datensatz ändert, kann das Feldobjekt seinen Wert im Zwischenspeicher ausfindig machen und muss dazu nicht auf die Eigenschaft LookupDataSet zugreifen. Die erhöhte Ausführungsgeschwindigkeit ist vor allem dann deutlich spürbar, wenn sich die in LookupDataSet angegebene Datenmenge in einem Netzwerk befindet, in dem Zugriffe länger dauern.

Wenn alle Datensätze in DataSet unterschiedliche Werte für KeyFields haben, kann der Geschwindigkeitsvorteil durch das aufwändige Suchen der Werte im Zwischenspeicher wieder zunichte gemacht werden. Der Aufwand bei der Suche im Zwischenspeicher wird um so höher, je größer die Anzahl der unterschiedlichen Werte in KeyFields ist.

Wenn LookupDataSet nicht persistent ist, kann das Zwischenspeichern von Lookup-Werten zu ungenauen Ergebnissen führen. Rufen Sie RefreshLookupList auf, um die Werte im Lookup-Zwischenspeicher zu aktualisieren. RefreshLookupList regeneriert die Eigenschaft LookupList, die für jeden Satz mit LookupKeyFields-Werten den Wert von LookupResultField enthält.

Wenn LookupCache zur Laufzeit gesetzt wird, initialisieren Sie den Zwischenspeicher durch einen Aufruf von RefreshLookupList.

Anmerkung:  LookupCache ist nur sinnvoll, wenn FieldKind den Wert fkLookup hat.

Siehe auch