Combobox傳值給查詢欄位 |
答題得分者是:timhuang
|
bookworm
中階會員 發表:63 回覆:161 積分:82 註冊:2002-08-03 發送簡訊給我 |
小弟我想做一個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 發送簡訊給我 |
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 發送簡訊給我 |
引言: 小弟我想做一個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 & AccessHi, 因為你用的 :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 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |