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

奇怪的訊息,選擇性功能未執行

尚未結案
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-11-27 15:56:47 IP:61.229.xxx.xxx 未訂閱
小弟在ADOQuery1中有一段SQL如下 update Applicant_m set state = :state1, acc_date = :acc_date1 where applicant_no = :applicant_no1 而我傳了以下的值進去....
With ADOQuery1 do
 begin
  Close;
   Parameters[0].Value:=1;
   Parameters[1].Value:=Null;
   Parameters[2].Value:='0001'
   Prepared;
   ExecSQL;
  end;
Parameters[0]是Integer
Parameters[1]是DateTime
Parameters[2]是字串
小弟主要是希望能塞一個Null的值到Parameters[1]內.... 可是都會出現這個奇怪的錯誤訊息..... EOleException with message '[Microsoft][ODBC SQL Server Driver]選擇性功能未未執行' 我試著將Parameters[1]改為 Parameters[1].Value:=Date(); 也是依然如此... 可是假如將這行拿掉就正常了...... 我所使用的是WinXP D5 MSSQL 2000 不知有沒有前輩也曾遇到過這樣的問題...可以救救小弟.... Thanks
geniustom
版主


發表:100
回覆:303
積分:260
註冊:2003-01-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-11-27 23:40:07 IP:219.68.xxx.xxx 未訂閱
jojoboy您好,您的問題應該是出在NULL值的關係,請參考以下幾篇文章 如何搜索 > <> <> <> < > <> < class="code"> =程式是一種藝術 也是訓練自己的分析規劃= =是段落分明 或是雜亂無章= =是一言以敝 或是廢話連篇= =是一目了然 或是艱深難懂= 體會這份藝術 您會了解另一份喜悅與成就
發表人 - geniustom 於 2004/11/27 23:57:06
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-02 00:55:54 IP:61.229.xxx.xxx 未訂閱
現在愈來愈怪了.... 只要是在SQL的句子裡,有使用到日期...就會出現這個錯誤訊息....
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-02 21:08:49 IP:61.220.xxx.xxx 未訂閱
經過我多日的研究... 我找到原因了...... 我在ADOConnection當中的ConnectionString的提供者 原先是使用Microsoft OLE DB Provider for SQL Server... 所以我的連接字串都是固定的... 後來因為專案的考量... 所以希望改用ODBC來連接.... 於是改用Microsoft OLE DB Provider for ODBC Drivers 這時候就出問題了..... 只要原先的ADOQuery中有使用到日期的查詢... 就會出錯.....訊息如下 [Microsoft][ODBC SQL Server Driver]選擇性功能未執行. 真是怪異.... 我在想是不是ODBC的Driver有問題.... 我ODBC中MS SQL Driver的版本是2000.81.9041.40 唉~~~~~~真是頭大
peterpcc
一般會員


發表:6
回覆:37
積分:13
註冊:2004-09-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-04 10:04:00 IP:221.239.xxx.xxx 未訂閱
在資料庫中塞個null值,何不放個''或是特定名來替代呢? 這樣處理也會簡單多了.
hagar
版主


發表:143
回覆:4056
積分:4445
註冊:2002-04-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-05 09:07:42 IP:202.39.xxx.xxx 未訂閱
您是說因為設定 ODBC 方便嗎? 那您可以使用設定 .udl 檔的方式也是很方便 參考: http://delphi.ktop.com.tw/topic.php?topic_id=54424
jojoboy
初階會員


發表:65
回覆:108
積分:34
註冊:2002-03-13

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-06 23:49:40 IP:61.229.xxx.xxx 未訂閱
其實我是搞不懂為什麼這樣...... 只是換個連接方式就會出現這樣的怪問題....... 因為我只是單純的認為資料庫都是SQL SERVER....就應該不會有問題....... 好笑的是...... 日期參數的輸入之前是使用Parameters的方法.....都不行....... 只要改成在程式裡用SQL.ADD的方式就OK了... 我暫時不想將這個問題結案....... 想再等等看... 看有沒有前輩可以解答..... 實在是太怪異了......
sryang
尊榮會員


發表:39
回覆:762
積分:920
註冊:2002-06-27

發送簡訊給我
#8 引用回覆 回覆 發表時間:2004-12-09 17:24:03 IP:211.20.xxx.xxx 未訂閱
With ADOQuery1 do
 begin
  Close;
   Parameters[0].Value:=1;
   Parameters[1].Clear;
   Parameters[2].Value:='0001'
   Prepared;
   ExecSQL;
  end;
 
加油喔,喵~
------
歡迎參訪 "腦殘賤貓的備忘錄" http://maolaoda.blogspot.com/
系統時間:2024-07-01 18:54:59
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!