全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1850
推到 Plurk!
推到 Facebook!

TTable的簡單查詢方法小整理

 
alex_wu
一般會員


發表:6
回覆:10
積分:3
註冊:2003-03-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-01 09:32:18 IP:202.145.xxx.xxx 未訂閱
//方法一: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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-01 14:53:39 IP:61.66.xxx.xxx 未訂閱
嗯! 你在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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-01 15:09:08 IP:202.145.xxx.xxx 未訂閱
引言: ok!謝謝你的建議 下次我會注意的. 這樣是比較清楚.
    
delphiwww
資深會員


發表:145
回覆:363
積分:368
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-01 15:16:42 IP:202.145.xxx.xxx 未訂閱
補充一下 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]
系統時間:2024-11-23 9:44:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!