Data.Win.ADODB.TCustomADODataSet.Locate
Delphi
function Locate(const KeyFields: string; const KeyValues: Variant; Options: TLocateOptions): Boolean; override;
C++
virtual bool __fastcall Locate(const System::UnicodeString KeyFields, const System::Variant &KeyValues, Data::Db::TLocateOptions Options);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | Data.Win.ADODB.pas Data.Win.ADODB.hpp |
Data.Win.ADODB | TCustomADODataSet |
説明
データセットを検索して指定されたレコードを探し,レコードを現在のレコードにします。
Locate メソッドを呼び出すと,データセットを検索して特定行を探し,現在行にします。
KeyFields は,検索する項目名のセミコロン区切りのリストが入った文字列です。
KeyValues は,キー項目内で一致する値を指定するバリアントです。KeyFields が単独の項目を記述している場合には,KeyValues は目的の行でその項目の値を指定します。複数の検索値を指定するには,バリアント配列を KeyValues で渡すか,VarArrayOf ルーチンを使って迅速にバリアント配列を構築します。例を示します。
with ADOTable1 do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]);
TLocateOptions Opts;
Opts.Clear();
Opts << loPartialKey;
Variant locvalues[2];
locvalues[0] = Variant("Sight Diver");
locvalues[1] = Variant("P");
CustTable->Locate("Company;Contact", VarArrayOf(locvalues, 1), Opts);
Options は,文字列項目を検索する際に追加の検索許容度をオプションで指定するセットです。Options に loCaseInsensitive 設定が入っている場合には,Locate は項目の照合時に大文字小文字を区別しません。Options に loPartialKey 設定が入っている場合には,Locate は KeyValues 内の文字列の部分照合を行うことができます。Options が空セットの場合や,KeyFields が文字列項目を持たない場合には,Options は無視されます。
Locate は,一致する行を見つけると true を返し,その行を現在の行にします。そうでない場合には,Locate は false を返します。