ADOQuery的Parameter赋值问题 |
尚未結案
|
hzahou_test
一般會員 發表:1 回覆:0 積分:0 註冊:2004-10-11 發送簡訊給我 |
我在ADOQuery1中执行sql是如果参数出现多次,那么赋值给它时往往只对第一次出现时起作用,如执行下面的sql
select * from customer
where fac:=fac
union
select * from vendor
where fac:=fac
union
select * from customer_and_vendor
where fac:=fac ADOQuery1.close;
ADOQuery1.Parameters.ParamByName('fac').Value:=edit1.text;
ADOQuery1.open;
这时只抓出了table:customer的资料,请问各位大大,有没有好的解决方法。
我又不想用ClientDataSet.
|
Wesly
中階會員 發表:14 回覆:103 積分:53 註冊:2002-05-31 發送簡訊給我 |
|
cashxin2002
版主 發表:231 回覆:2555 積分:1937 註冊:2003-03-28 發送簡訊給我 |
您好﹗ 不使用Parameters﹐而改用StringReplace(取代字串)函數試試﹕
begin With ADOQuery1 do begin Close; SQL.Clear; SQL.Add('select * from customer where fac = factemp union ') SQL.Add('select * from vendor where fac = factemp union ') SQL.Add('select * from customer_and_vendor where fac = factemp'); SQL.Text := StringReplace(SQL.Text, 'fcatemp', Edit1.Text, [rfReplaceAll, rfIgnoreCase]); Open; end; end;========================= 大病初愈﹐休養調整中... =========================
------
忻晟 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |