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

寫在QUERY元件內的SQL如何將參數也帶出來?

尚未結案
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-03-18 14:16:29 IP:210.65.xxx.xxx 訂閱
請教各位大大:
我在QUERY內的SQL該用何方式將包含參數完整的語法顯示出來
因若我將SQL寫在程式內可以用savetofile
用同樣的方式轉SQL內的話,參數還是原來的樣子並不是真的值
謝謝!
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-03-18 14:55:09 IP:60.248.xxx.xxx 未訂閱
您好

SqlText.Add('Select * ')
SqlText.Add('From Table ')
SqlText.Add('where BillNo= :BillNo ');
...
Query.Sql.Text:=SqlText.Text;
Query.Params.ParamsByName('BillNo').AsString='20080101001';

紅色字就是參數,緊跟著冒號字元之後
P.D.
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-03-18 17:20:11 IP:61.67.xxx.xxx 未訂閱
那就不要用參數啊!

select * from table1 where Afield= :Afield

select * from table1 where Afield=" ' Afield ' " '
moko
一般會員


發表:31
回覆:34
積分:13
註冊:2002-09-20

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-03-18 18:23:42 IP:210.65.xxx.xxx 訂閱
感謝兩位大大的幫忙
那...傳變數的我會用
就是說因為SQL實在太長的感覺很拖泥帶水
所以想寫到元件裡面
有沒有辦法寫在元件內並使用參數,還能將參數一併轉出來看呀?

===================引 用 P.D. 文 章===================
那就不要用參數啊!

select * from table1 where Afield= :Afield

select * from table1 where Afield=" ' Afield ' " '
pedro
尊榮會員


發表:152
回覆:1187
積分:892
註冊:2002-06-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-03-18 20:39:00 IP:61.224.xxx.xxx 未訂閱
最好不要放在sql檔裡,一般來說script裡很容易就看到資料結構

在大量交叉分析的報表script,通常我的做法
1.放在sql server成function
2.用上述組語法方式組起來,雖然好幾十行,但若要除錯及修正,貼在sql工具
把前面的sqltext.Add去掉,即可馬上執行,方便許多
christie
資深會員


發表:30
回覆:299
積分:475
註冊:2005-03-25

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-03-20 21:54:41 IP:218.171.xxx.xxx 未訂閱
轉個彎,
var sql:string;
ss:string;
dt:string;
na:string;
begin
dt:='970520';
na:='Franck';
sql :='select * from bill where ch_Na= :ch_Na and Bill_Dt= :Bill_Dt';
showMessage(sql);
//若是數值欄位
sql:=ansireplaceStr(sql,':Bill_Dt',dt);

//若是字串欄位
ss:=AnsiReplaceStr(sql,':ch_Na', QuotedStr(na));

showMessage(ss);
end;

===================引 用 moko 文 章===================
感謝兩位大大的幫忙
那...傳變數的我會用
就是說因為SQL實在太長的感覺很拖泥帶水
所以想寫到元件裡面
有沒有辦法寫在元件內並使用參數,還能將參數一併轉出來看呀?

===================引 用 P.D. 文 章===================
那就不要用參數啊!

select * from table1 where Afield= :Afield

select * from table1 where Afield=" ' Afield ' " '
------
What do we live for if not to make life less difficult for each other?
系統時間:2024-05-18 0:30:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!