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

擷取資料

答題得分者是:P.D.
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-01-28 17:48:32 IP:139.223.xxx.xxx 訂閱
請問各位大大,小弟寫了一段程式去擷取SQL中的資料,但不知該如何把資料一筆一筆寫入DBComboBox,
想請問大大們可以給小弟一點建議或指引嗎?

這是小弟寫的程式碼:
ADOSQL2.Close;
ADOSQL2.SQL.Clear;
ADOSQL2.SQL.Add('Select code_id from SYSM100');
ADOSQL2.SQL.Add('Where Field_id=:P1');
ADOSQL2.Parameters.ParamValues['P1']:='C_CZ';
ADOSQL2.ExecSQL;
ADOSQL2.Open;

現在想把過濾出的資料寫進DBComboBox中~~
P.D.
版主


發表:603
回覆:4038
積分:3874
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-01-29 00:20:41 IP:61.67.xxx.xxx 未訂閱
請業用搜尋dbcombobox, 我才找第二頁就找到了
http://delphi.ktop.com.tw/board.php?cid=30&fid=100&tid=55130
pceyes
尊榮會員


發表:70
回覆:657
積分:1140
註冊:2003-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-01-29 12:51:11 IP:122.127.xxx.xxx 訂閱
  1. dbcombobox 應想像成一個dbedit加上一個靜態的listbox的複合元件.
  2. 我原先的想法也如同上面的大大一樣, 想用迴圈方式將dataset內的資料填入items;但請問一下, 如果query出來的筆數有上千上萬筆時, 要叫listbox占用多少記憶體, 顯然Borland一定不是這樣想的, 它不可能讓這件事發生的, 否則它應該不是靜態的listbox而是dbgrid等感知元件。
  3. 因此listbox應是靜態的選用, 如下:

[code delphi]
procedure TForm1.FormCreate(Sender: TObject);
begin
adoquery1.active := false;
adoquery1.sql:='select * from detail where 姓名 like "%清%"';
adoquery1.active := true;

DBComboBox1.DataSource := datasoruce1;
DBComboBox1.Field := '學歷';
DBComboBox1.Items.Text := '研究所' #13 '大學' #13 '專科' #13 '高中' #13 '國中'; // 靜態給予起始資料
end;

// 使用者選擇更動欄位後
procedure TForm1.DBComboBox1Change(Sender: TObject);
begin
adoquery1.Edit;
adoquery1['學歷'] := DBComboBox1.Text;
adoquery1.Post;
end;

[/code]
------
努力會更接近成功
編輯記錄
pceyes 重新編輯於 2008-01-29 12:52:38, 註解 無‧
lasterliu
一般會員


發表:38
回覆:57
積分:19
註冊:2007-11-05

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-01-29 16:57:35 IP:139.223.xxx.xxx 訂閱
謝謝兩位大大的解答,我想要的答案在版主PO的文章中,真是抱歉當時都沒看到,再次謝謝各位大大的幫忙,多謝~~
系統時間:2024-05-13 3:58:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!