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

有關 ClientDataSet 的參數問題

答題得分者是:jieshu
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-05 01:44:46 IP:61.226.xxx.xxx 未訂閱
我希望能達到以下的情況 select * from Employ where EmpNo=EmpNo //EmpNo是 Int 如此執行相當於where 1=1 這是ADOQuery的Sql select * from employ where Empno=:MyEmpno 這是ClientDataSet送上去的的參數 ClientDataSet1.Params.ParamByName('MyEmpNo').AsInteger:=1; 我這樣送是OK的 但我這樣送卻不行 ClientDataSet1.Params.ParamByName('MyEmpNo').AsString:='EmpNo'; //只能接受Integer 請問我要如何送才能達成 where EmpNo=EmpNo 的狀況 (請不要告訴我在ClientDataSet.CommandText直接送Sql, 我因為某些特別 的需求,不能直接送Sql,必須要送參數才可以)
jieshu
版主


發表:41
回覆:894
積分:745
註冊:2002-04-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-05 10:55:42 IP:203.204.xxx.xxx 未訂閱
請問您真正的需求是什麼, 因為照您的說法沒有任何一種DataSet有辦法作到吧.    <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行
人若為善,福雖未至,禍已遠離
人若為惡,禍雖未至,福已遠離
http://www.taconet.com.tw/jieshu/
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-06 11:10:10 IP:210.65.xxx.xxx 未訂閱
Hi johnny2212,    select  * from    Employ where   EmpNo=EmpNo //EmpNo是 Int 如此執行相當於where 1=1  ==> 錯 !! 假如 Table Employ 中的 EmpNo field 中有 Null 值,此條件並不成立,亦即針對 EmpNo 為 Null 值之資料此寫法並不會被 select 出來,此條件成立的先決條件是 EmpNo 不可為 Null 我猜測你是要能 select 單一員工或是全部員工吧! 改成如此試試
select  * 
from    employ
where  (Empno = :MyEmpno or :MyEmpno = 0)    ClientDataSet1.Params.ParamByName('MyEmpNo').AsInteger:=0;
ClientDataSet1.Open;
即可獲得全部員工資料 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
johnny2212
初階會員


發表:34
回覆:65
積分:39
註冊:2003-04-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-07 02:50:32 IP:61.226.xxx.xxx 未訂閱
謝謝FishMan,原來這麼簡單就解決了,害我想了好幾天,真是太感謝您了
系統時間:2017-12-14 6:23:35
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!