以下的程式片段示範 Locate 的用法
原型:
function Locate(const KeyFields: string;
const KeyValues: Variant;
Options: TLocateOptions): Boolean; virtual;
KeyFields: 欄位名稱
KeyValues: 尋找的值, 如果是字串的話, 其長度不能超過欲搜尋欄位的
長度, 否則會出現"作業無法使用", 解決方法:
s := Copy(Trim(edInvNo.Text), 1,
FDataSet.FieldByName('NAME').Size;
Locate('NAME', s, []);
BCB 1.0
TLocateOptions locopt;
bool bFound;
locopt << loCaseInsensitive;
// 單一條件搜尋︰
bFound = Table1->Locate("NAME", "蔡煥麟", locopt);
// 多鍵值搜尋︰
Variant Values[2] = {"蔡煥麟", "龍韻資訊"};
bFound = Table1->Locate("NAME;COMPANY", Variant(Values,
ARRAYSIZE(Values)-1), locopt);
DELPHI
// 單一條件搜尋
bFound := Table1.Locate('NAME', '蔡煥麟', [loCaseInsensitive]);
// 多鍵值搜尋 1
bFound := Table1.Locate('CUST_NO;CUST_NAME',
VarArrayOf(['A','蔡']),
[loCaseInsensitive, loPartialKey])
// 多鍵值搜尋 2
var
vField: Variant;
bFound: Boolean;
begin
vField := VarArrayCreate([0,1], VarOleStr);
vField[0] := edID.Text;
vField[1] := edPassword.Text;
bFound := Table1.Locate('EMP_ID;PASSWORD', vField, []);
               (
geocities.com/huanlin_tsai)