線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:913
推到 Plurk!
推到 Facebook!

query 与 combobox的问题

答題得分者是:Fishman
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-17 14:15:49 IP:218.20.xxx.xxx 未訂閱
我现在要从一个table(该table中有重复的部门名称)中把department拿出来,(例如有5个部门名称,A,B,C,D,E)放入到一个combobox里面,使用以下的语句: dm.Query1.Active:=false; with dm.Query1 do begin close; sql.Clear; sql.Text:='select distinct Department from ":hr:gsw5.db" '; prepare; open; end; dm.Query1.Active:=true; combobox1.Items.Clear; for i:=0 to dm.Query1.RecordCount-1 do combobox1.Items.Append(dm.Query1.Fields.Fields[0].AsString); 结果出来的combobox1里面是5个“A”,为什么不是“A”“B”“C”“D”“E”?要怎么写?
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-17 14:23:33 IP:210.65.xxx.xxx 未訂閱
Hi liangzai,    改成這樣試試:
procedure TForm1.Button1Click(Sender: TObject);
begin
  dm.Query1.Active:=false;
  with dm.Query1 do
    begin
      close;
      sql.Clear;
      sql.Text:='select distinct Department from ":hr:gsw5.db" ';
      prepare;
      open;
    end;
  dm.Query1.Active:=true;
  combobox1.Items.Clear;
  while not dm.Query1.RecordCount.Eof do
    begin
      combobox1.Items.Append(dm.Query1.Fields.Fields[0].AsString);
      dm.Query1.RecordCount.Next;
    end;
end;
---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
liangzai
初階會員


發表:77
回覆:91
積分:33
註冊:2004-08-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-17 14:42:43 IP:218.20.xxx.xxx 未訂閱
hi,fishman, 按照你的思路,修改程式: dm.Query1.First; while not dm.Query1.Eof do begin combobox1.Items.Append(dm.Query1.Fields.Fields[0].AsString); dm.Query1.Next; end; 你看看你的语句,是不是有点问题,呵呵!不过还是非常谢谢你!
cashxin2002
版主


發表:231
回覆:2555
積分:1937
註冊:2003-03-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-17 14:44:53 IP:202.62.xxx.xxx 未訂閱
您好﹗    發現Fishman兄有些筆誤了﹕
procedure TForm1.Button1Click(Sender: TObject);
begin
  dm.Query1.Active:=false;
  with dm.Query1 do
    begin
      close;
      sql.Clear;
      sql.Text:='select distinct Department from ":hr:gsw5.db" ';
      prepare;
      open;
    end;
  dm.Query1.Active:=true;
  combobox1.Items.Clear;
  while not dm.Query1.Eof do
    begin
      combobox1.Items.Append(dm.Query1.Fields.Fields[0].AsString);
      dm.Query1.Next;
    end;
end;
================================= 有空來瞅瞅我﹗因為我是您的朋友﹐有您真好﹗ ================================
------
忻晟
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-17 15:23:05 IP:210.65.xxx.xxx 未訂閱
歹勢,被抓包了 趕著去開會,感謝 > ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
系統時間:2024-06-30 6:34:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!