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

Combobox傳值給查詢欄位

答題得分者是:timhuang
bookworm
中階會員


發表:63
回覆:161
積分:82
註冊:2002-08-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-11 18:41:15 IP:210.85.xxx.xxx 未訂閱
小弟我想做一個AdoQuery,combobox指定查詢欄位,edit指定查詢的值 adoquery1.SQL.Text := 'select * from 圖書檔案 where :q_field like :q_text'; adoquery1.Parameters.ParamByName('q_field').Value := combobox1.items[combobox1.itemindex]; adoquery1.Parameters.ParamByName('q_text').value := '%' edit1.Text '%'; 我用兩個lable來測試q_field是不是有抓到值: label1.Caption := combobox1.items[combobox1.itemindex]; label2.Caption:=adoquery1.Parameters.parambyname('q_field').value; 兩個值都是正常,可是我完全沒辦法查詢。如果不用q_field而寫死查詢欄位 ,就沒這個問題了。所以應該是q_field的問題,可是問題在哪? 請各位前輩指點! 作業環境:delphi6 & Access
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-11 18:52:10 IP:61.217.xxx.xxx 未訂閱
adoquery1.close; adoquery1.SQL.Clear; adoquery1.SQL.Text := 'select * from 圖書檔案 where q_field like ' #39 '%' combobox1.items[combobox1.itemindex] '%' #39; adoquery1.Open; TRY TRY SEE...
引言: 小弟我想做一個AdoQuery,combobox指定查詢欄位,edit指定查詢的值 adoquery1.SQL.Text := 'select * from 圖書檔案 where :q_field like :q_text'; adoquery1.Parameters.ParamByName('q_field').Value := combobox1.items[combobox1.itemindex]; adoquery1.Parameters.ParamByName('q_text').value := '%' edit1.Text '%'; 我用兩個lable來測試q_field是不是有抓到值: label1.Caption := combobox1.items[combobox1.itemindex]; label2.Caption:=adoquery1.Parameters.parambyname('q_field').value; 兩個值都是正常,可是我完全沒辦法查詢。如果不用q_field而寫死查詢欄位 ,就沒這個問題了。所以應該是q_field的問題,可是問題在哪? 請各位前輩指點! 作業環境:delphi6 & Access
timhuang
尊榮會員


發表:78
回覆:1815
積分:1608
註冊:2002-07-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-11 20:20:41 IP:61.221.xxx.xxx 未訂閱
引言: 小弟我想做一個AdoQuery,combobox指定查詢欄位,edit指定查詢的值 adoquery1.SQL.Text := 'select * from 圖書檔案 where :q_field like :q_text'; adoquery1.Parameters.ParamByName('q_field').Value := combobox1.items[combobox1.itemindex]; adoquery1.Parameters.ParamByName('q_text').value := '%' edit1.Text '%'; 我用兩個lable來測試q_field是不是有抓到值: label1.Caption := combobox1.items[combobox1.itemindex]; label2.Caption:=adoquery1.Parameters.parambyname('q_field').value; 兩個值都是正常,可是我完全沒辦法查詢。如果不用q_field而寫死查詢欄位 ,就沒這個問題了。所以應該是q_field的問題,可是問題在哪? 請各位前輩指點! 作業環境:delphi6 & Access
Hi, 因為你用的 :xxxx 這種變數是只能取代 變數值, 而不能取代 command 中的字串的哦, 記得 :xxxx 就是 adoquery 中的 parameters , 而 parameters 只能是變數值 (value) 而不能是 sql command !! 而你要的功能 :q_field 這個部分只能在組 sql command 來進行, 不能用 parameters 來取代 所以你的程式中, 組 sql command 的部分改為:
adoquery1.SQL.Text := 'select * from 圖書檔案 where '   combobox1.items[combobox1.itemindex]   ' like :q_text';
即可!! 發表人 - timhuang 於 2003/02/11 20:23:23
bookworm
中階會員


發表:63
回覆:161
積分:82
註冊:2002-08-03

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-11 22:17:40 IP:210.85.xxx.xxx 未訂閱
謝謝大家!可以使用了!
系統時間:2024-05-19 22:25:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!