Data.DB.TField.LookupCache
Delphi
property LookupCache: Boolean read FLookupCache write SetLookupCache default False;
C++
__property bool LookupCache = {read=FLookupCache, write=SetLookupCache, default=0};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | published | Data.DB.pas Data.DB.hpp |
Data.DB | TField |
説明
データセット内の現在のレコードが変更されるたびに参照項目の値がキャッシュされるかまたは動的に参照されるかを決めます。
LookupDataSet が変更されそうになく,異なる参照値の数が少ないときには参照項目の値がキャッシュするように,LookupCache プロパティを true に設定します。参照値をキャッシュすると,DataSet が開いたときにすべての LookupKeyFields 値のセットの参照値が事前にロードされるので,処理効率を向上できます。DataSet 内の現在のレコードが変更されるとき,項目オブジェクトは LookupDataSet にアクセスしないで,キャッシュ内で Value を見つけることができます。この処理効率の向上は,LookupDataSet が低速ネットワーク上にあるときに特に顕著です。
DataSet のすべてのレコードの KeyFields の値が異なる場合は,キャッシュで値を見つけるオーバーヘッドは,キャッシュによってもたらされる利点より大きくなります。値をキャッシュで検索することのオーバーヘッドは,KeyFields で受け取ることのできる値の数が多くなるほど大きくなります。
LookupDataSet が揮発性の場合,参照値のキャッシングにより不正確な結果が生じることがあります。RefreshLookupList メソッドを呼び出すと,参照キャッシュの値を更新できます。RefreshLookupList メソッドは,すべての LookupKeyFields 値のセットの LookupResultField の値が保持されている LookupList プロパティを再生成します。
実行時に LookupCache を設定するには,RefreshLookupList メソッドを呼び出してキャッシュを初期化します。
メモ: LookupCache は,FieldKind の値が fkLookup である場合にのみ有効です。