TTable的簡單查詢方法小整理 |
|
alex_wu
一般會員 發表:6 回覆:10 積分:3 註冊:2003-03-20 發送簡訊給我 |
//方法一:Locate
procedure TForm1.Button2Click(Sender: TObject);
var
locatecustno:boolean;
begin //對照custno欄位和edit是否一樣
locatecustno:=Table1.Locate('custno',edit1.Text,[lopartialkey]);
if locatecustno=false then showmessage('找不到');//lopartialkey參數;要搜尋的欄位只包含部分鍵值
end; //或使用loCaseInsensitive:不管大小寫 //方法二:SetKey gotokey
procedure TForm1.Button3Click(Sender: TObject);
begin
Table1.SetKey;
Table1.fields[0].asstring:=edit1.text;
Table1.gotokey;
if not Table1.gotokey then showmessage('找不到');
end;
//方法三:SetKey GotoNearest
procedure TForm1.Button4Click(Sender: TObject);
begin
table1.SetKey;
table1.FieldByName('custno').asstring:=edit1.Text;
table1.GotoNearest; //如果找不到則會到下一個
end;
//方法四:lookup
procedure TForm1.Button5Click(Sender: TObject);
var
v:variant;
begin
v:=Table1.lookup('custno',edit1.Text,'company');
//尋找custno欄位符合edit1.Text的值並傳回company欄位的值為v
showmessage(v);//將傳回company欄位的值show出
end; 發表人 - alex_wu 於 2003/04/01 09:34:02
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
嗯! 你在post上來時的頭尾各加上
〔code〕 〔/code〕 半形的哦! 會更容易看懂! 因為既然是發表, 那讓人一目了然是最重要的!
//方法一:Locate //對照custno欄位和edit是否一樣 //lopartialkey參數;要搜尋的欄位只包含部分鍵值 //或使用loCaseInsensitive:不管大小寫 procedure TForm1.Button2Click(Sender: TObject); var locatecustno:boolean; begin locatecustno:=Table1.Locate('custno',edit1.Text,[lopartialkey]); if locatecustno=false then showmessage('找不到'); end; . . //方法二:SetKey gotokey procedure TForm1.Button3Click(Sender: TObject); begin Table1.SetKey; Table1.fields[0].asstring:=edit1.text; Table1.gotokey; if not Table1.gotokey then showmessage('找不到'); end; . . //方法三:SetKey GotoNearest procedure TForm1.Button4Click(Sender: TObject); begin table1.SetKey; table1.FieldByName('custno').asstring:=edit1.Text; // 如果找不到則會到下一個 table1.GotoNearest; end; //方法四:lookup //尋找custno欄位符合edit1.Text的值並傳回company欄位的值為v procedure TForm1.Button5Click(Sender: TObject); var v:variant; begin v:=Table1.lookup('custno',edit1.Text,'company'); //將傳回company欄位的值show出 showmessage(v); end;這樣是不是更容易解讀! 發表人 - P.D. 於 2003/04/01 14:58:45 |
alex_wu
一般會員 發表:6 回覆:10 積分:3 註冊:2003-03-20 發送簡訊給我 |
|
delphiwww
資深會員 發表:145 回覆:363 積分:368 註冊:2002-03-13 發送簡訊給我 |
補充一下
Locate與Lookup
當有兩個欄位時
第一個變數用字串
第二個變數為array locatecustno:=Table1.Locate('custno;field2',[edit1.Text,edit2.text],lopartialkey]);
//方法二:SetKey gotokey
可以用findkey
//方法三:SetKey GotoNearest
可以用findNearest
//方法一:Locate //對照custno欄位和edit是否一樣 //lopartialkey參數;要搜尋的欄位只包含部分鍵值 //或使用loCaseInsensitive:不管大小寫 procedure TForm1.Button2Click(Sender: TObject); var locatecustno:boolean; begin locatecustno:=Table1.Locate('custno',edit1.Text,[lopartialkey]); if locatecustno=false then showmessage('找不到'); end; . . //方法二:SetKey gotokey procedure TForm1.Button3Click(Sender: TObject); begin Table1.SetKey; Table1.fields[0].asstring:=edit1.text; Table1.gotokey; if not Table1.gotokey then showmessage('找不到'); end; . . //方法三:SetKey GotoNearest procedure TForm1.Button4Click(Sender: TObject); begin table1.SetKey; table1.FieldByName('custno').asstring:=edit1.Text; // 如果找不到則會到下一個 table1.GotoNearest; end; //方法四:lookup //尋找custno欄位符合edit1.Text的值並傳回company欄位的值為v procedure TForm1.Button5Click(Sender: TObject); var v:variant; begin v:=Table1.lookup('custno',edit1.Text,'company'); //將傳回company欄位的值show出 showmessage(v); end;這樣是不是更容易解讀! 發表人 - P.D. 於 2003/04/01 14:58:45 [/quote] |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |