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

為何DBLookupListBox的 ListField 及KeyField值無法更新?

答題得分者是:Justmade
tangkh
一般會員


發表:26
回覆:28
積分:10
註冊:2002-09-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-07-09 16:58:26 IP:202.39.xxx.xxx 未訂閱
當我第二次呼叫下列子程序時,SJDBLookupListBox.ListField := DbLookStr; 及 SJDBLookupListBox.KeyField:= DbLookStr;為何會出現找不到欄位錯誤? 請各位先進指教,萬分感謝! procedure QueryFind(TblStr,WhereStr,DbLookStr : string); var SQLstr : string; begin SQLstr := 'select * from ' TblStr; SQLstr := SQLstr ' where ' WhereStr ' like ''%' InputEdit.Text '%'''; qWorkAllSearch.SQL.Clear; qWorkAllSearch.Active := false; qWorkAllSearch.SQL.Text := SQLstr; qWorkAllSearch.Active := true; SJDBLookupListBox.ListSource := qWorkAllSearchDS; SJDBLookupListBox.ListField := DbLookStr; SJDBLookupListBox.KeyField := DbLookStr; end;
suckin
一般會員


發表:13
回覆:26
積分:7
註冊:2003-06-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-07-09 18:28:32 IP:211.22.xxx.xxx 未訂閱
procedure QueryFind(TblStr,WhereStr,DbLookStr : string); var SQLstr : string; begin SQLstr := 'select * from '+TblStr; SQLstr := SQLstr+' where '+WhereStr+' like ''%' + InputEdit.Text + '%'''; qWorkAllSearch.SQL.Clear; qWorkAllSearch.Active := false; qWorkAllSearch.SQL.Text := SQLstr; qWorkAllSearch.Active := true; SJDBLookupListBox.ListSource := qWorkAllSearchDS; SJDBLookupListBox.ListField := DbLookStr; SJDBLookupListBox.KeyField := DbLookStr; end 應該是先 close query 再 Clear Query.SQL qWorkAllSearch.Active := false; qWorkAllSearch.SQL.Clear; qWorkAllSearch.SQL.Text := SQLstr; qWorkAllSearch.Active := true; [/b]
tangkh
一般會員


發表:26
回覆:28
積分:10
註冊:2002-09-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-07-10 08:09:29 IP:202.39.xxx.xxx 未訂閱
suckin 感謝您的回覆,但問題仍會出現。 問題應該是:當我的SQLstr 的TblStr改變時, 而SJDBLookupListBox.KeyField 仍然記著前一次的值, 也就是說當第二次再呼叫子程序時Query在Active時會找不到之前的欄位,我應該如何使Query完全初始,並清除所有的設定值呢?再一次請教各位!感謝! SQLstr := ''select * from '' TblStr; SQLstr := SQLstr '' where '' WhereStr '' like ''''%'' InputEdit.Text ''%'''''';
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-07-10 08:19:34 IP:218.16.xxx.xxx 未訂閱
你應將 : qWorkAllSearch.Active := true; 放到整段的最後,就是設好 SJDBLookupListBox.ListField SJDBLookupListBox.KeyField 才將 qWorkAllSearch 開啟
tangkh
一般會員


發表:26
回覆:28
積分:10
註冊:2002-09-11

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-07-10 08:27:52 IP:202.39.xxx.xxx 未訂閱
Justmade 版主 感謝您的指導,問題已解決,謝謝!
系統時間:2024-06-16 11:27:45
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!