Lookup和Locate方法使用

2021-09-08 08:19:52 字數 2566 閱讀 9379

5.lookup方法

搜尋符合一定條件的記錄,如果找到返回指定的字段數值

function lookup(const keyfields:string;const keyvalues:variant;const resultfields:string):variant;

keyfileds 引數是個字串,它指定了搜尋的字段.可以是乙個或多個欄位名,中間要用分號隔開

keyvalues引數是variant型別,可以包含任何資料型別,如果keyfields引數指定搜尋多個字段,那麼keyvalues 引數需要用vararrayof函式

生成variant型別陣列;

如果找到符哈記錄,返回欄位名由resultfields引數指定.可以是乙個或多個欄位名.

如果沒有找到返回乙個空值

6.locate方法

locate方法是用來搜尋指定條件的記錄,並將記錄指標指向該記錄

type

tlocateoption = (locaseinsensitive,lopartialkey);

tlocateoptions = set of tlocateoption;

function locate(const keyfields:string;const keyvalues:variant;options:tlocateoptions):boolean;

unit unit1;

inte***ce

uses

windows, messages, sysutils, variants, classes, graphics, controls, forms,

dialogs, grids, dbgrids, db, dbtables, stdctrls, dbctrls;

type

tform1 = class(tform)

table1: ttable;

datasource1: tdatasource;

dbgrid1: tdbgrid;

button1: tbutton;

memo1: tmemo;

button2: tbutton;

dbcombobox1: tdbcombobox;

procedure button1click(sender: tobject);

procedure button2click(sender: tobject);

private

public

end;

varform1: tform1;

implementation

//-----------locate方法使用-------------------

procedure tform1.button1click(sender: tobject);

varkeyfields:string;

keyvalues:variant;

begin

keyfields := 'contact;phone';

keyvalues := vararrayof(['joe bailey','011-5-697044']);

if table1.locate(keyfields,keyvalues,[lopartialkey]) then

begin

table1.moveby(table1.recno);

end;

end;

//lookup方法

procedure tform1.button2click(sender: tobject);

varkeyfields:string;

keyvalues:variant;

resultstring:string;

returnvalue:variant;

indexofarray,boundlow,boundhigh:integer;

begin

keyfields:='company;city';

keyvalues := vararrayof(['unisco','freeport']);

resultstring := 'custno;addr1';

returnvalue := table1.lookup(keyfields,keyvalues,resultstring);

if not varisnull(returnvalue) then

begin

boundlow := vararraylowbound(returnvalue,1);

boundhigh := vararraylowbound(returnvalue,1);

for indexofarray := boundlow to boundhigh do

begin

memo1.lines.add(returnvalue[indexofarray]);

end;

end;

end;

lookup方法中要注意resultstring中使用

resultstring主要返回指定字段值的內容

返回的值是儲存在returnvalues可變陣列中

主要是keyvalues使用

Lookup方法注入

lookup方法注射指容器能夠重寫容器中bean的抽象或具體方法,返回查詢容器中其他bean的結果。被查詢的bean在上面描述的場景中通常是乙個non singleton bean 儘管也可以是乙個singleton的 spring通過使用cglib庫在客戶端的類之上修改二進位製碼,從而實現上述的場...

spring 方法注入 lookup方法注入

1 無狀態bean 與有狀態bean 無狀態bean bean一旦例項化就被加進會話池中,各個使用者都可以共用。即使使用者已經消亡,bean 的生命期也不一定結束,它可能依然存在於會話池中,供其他使用者呼叫。有狀態bean 有狀態會話bean 每個使用者有自己特有的乙個例項,在使用者的生存期內,be...

陣列和lookup函式

sumif函式 sumifs函式 多條件求和 excel 2003沒有sumifs,那麼要實現多條件求和則可以利用陣列 通俗含義 令乙個區域的值等於某乙個單元格值 例 利用陣列實現多條件求和 sum a 2 a 22 k15 b 2 b 22 l15 e 2 e 22 利用陣列的寫公式的不同之處 寫...