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

listbox 的問題

答題得分者是:ccchen
miga
初階會員


發表:61
回覆:92
積分:30
註冊:2002-08-27

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-11-05 10:51:49 IP:211.74.xxx.xxx 未訂閱
我使用了combobox來選取某欄位的資料… 當選取後,我要將符合的資料一筆一筆加入listbox… 卻一直造成當掉的情況…sql一直跑…畫面關不掉… 是不是那裡有錯呢? Query1.first; while not Query1.Eof do begin if Query1.Locate('dep_scname',combobox1.Text,[])then begin listbox1.Items.Add(Query1.fieldbyname('TEA_CNAME').asstring '<' Query.fieldbyname('TEA_MAIL').asstring '>'); Query.Next; end; end;
Miles
尊榮會員


發表:27
回覆:662
積分:622
註冊:2002-07-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-11-05 11:05:32 IP:210.58.xxx.xxx 未訂閱
Hello try this :
       if Query1.Locate('dep_scname',combobox1.Text,[])then
   begin
      listbox1.Items.Add(Query1.fieldbyname('TEA_CNAME').asstring '<' Query.fieldbyname('TEA_MAIL').asstring '>');
   end;
------


我不是高手, 高手是正在銀幕前微笑的人.
Mecer
初階會員


發表:15
回覆:30
積分:29
註冊:2002-10-25

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-11-05 11:08:06 IP:203.204.xxx.xxx 未訂閱
1.既然你一筆一筆的加入ListBox當中,怎麼可以使用While迴圈咧~ 2.問題出在Query每次只有Locate到一筆資料,Locate到資料其實程式就應該 結束了,但是你使用了While迴圈,假設你有10筆資料,Locate到的資料是 第五筆,每次Query都移動指標停在第五筆資料,怎麼會有Eof的一天~ 3.所以嚕~拿掉你的迴圈應該就可以嚕~ Just try it .. ^o^
ccchen
版主


發表:61
回覆:940
積分:1394
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-11-05 12:58:19 IP:61.219.xxx.xxx 未訂閱
如Mecer所說, 在while loop中locate你始終只找到第一符合的,不會結束    我要將符合的資料一筆一筆加入listbox… 你可以用filter
  Query1.filtered:=False;
  Query1.filter:='dep_scname=' quotedstr(Combobox1.text);
  Query1.filtered:=True;
  Query1.first;
  while not Query1.Eof do  begin
    listbox1.Items.Add(Query1.fieldbyname('TEA_CNAME').asstring '<' Query.fieldbyname('TEA_MAIL').asstring '>');
    Query.Next;
  end;
  query1.filtered:=False;
miga
初階會員


發表:61
回覆:92
積分:30
註冊:2002-08-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-11-06 10:32:18 IP:211.74.xxx.xxx 未訂閱
引言: 如Mecer所說, 在while loop中locate你始終只找到第一符合的,不會結束 我要將符合的資料一筆一筆加入listbox… 你可以用filter
  Query1.filtered:=False;
  Query1.filter:='dep_scname=' quotedstr(Combobox1.text);
  Query1.filtered:=True;
  Query1.first;
  while not Query1.Eof do  begin
    listbox1.Items.Add(Query1.fieldbyname('TEA_CNAME').asstring '<' Query.fieldbyname('TEA_MAIL').asstring '>');
    Query.Next;
  end;
  query1.filtered:=False;
呵…謝啦…我試出來了…^^… 謝謝大家囉…
系統時間:2024-05-19 1:14:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!