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

請問以ADO使用Access,出現引數可能...的錯誤。

缺席
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#1 引用回覆 回覆 發表時間:2002-12-10 21:29:32 IP:61.218.xxx.xxx 未訂閱
操作正常,可是一段時間之後,竟出現"引數可能有類型錯誤,或超過可接受的定義範圍,或與其它引數衝突。"不知問題出在哪裡,謝謝。
yenhorng
中階會員


發表:12
回覆:82
積分:94
註冊:2002-06-18

發送簡訊給我
#2 引用回覆 回覆 發表時間:2002-12-11 18:35:46 IP:211.79.xxx.xxx 未訂閱
其他電腦上執行是否正常? 可固定於某一表單(功能或某一資料庫上),重複測試,確定出問題點;然後將部分資料庫暫時關閉(勿使用),以確定問題在何處!
hagar
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2002-12-11 18:38:53 IP:202.39.xxx.xxx 未訂閱
應該是檢查 Parameter 的值有沒有超過範圍 或型態不對了    -- Everything I say is a lie.
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#4 引用回覆 回覆 發表時間:2002-12-12 08:18:30 IP:61.218.xxx.xxx 未訂閱
感謝愛心與熱心,片段程式如下 Button's OnClick if edit1.text<>'' then da3:='where os LIKE ' quotedstr('%' edit1.text '%') else da3:=''; da3:='select * from shop ' da3 ' order by address'; ADODataSet1.CommandText:=widestring(da3); try ADODataSet1.Active:=true; . . . ADODataSet1.Active:=false; except showmessage('無法開啟資料檔'); end; 程式剛執行時都很正常,一段時間後按下該Button,便出現"引數可能有類型錯誤,或超過可接受的定義範圍,或與其它引數衝突。",請問看的出問題在哪裡嗎?
hagar
版主


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2002-12-12 09:01:07 IP:202.39.xxx.xxx 未訂閱
把執行時的 da3 變數 也就是 ADODataSet1.CommandText 的內容顯示出來 再搭配 shop 這個 Table 的欄位去檢查看看    -- Everything I say is a lie.
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#6 引用回覆 回覆 發表時間:2002-12-12 10:48:11 IP:61.218.xxx.xxx 未訂閱
感謝意見,但這個trace動作我早做過了,da3的值都沒錯,是不是需要把ADODataSet1.CommandText Reset或Init什麼的,因為是剛開始使用,都不會有問題,一段時間後,才會出現問題,之前是Ado的Eof有問題,不過在修正Delphi5之後,問題解決了,這個問題,總讓我覺得沒道理,我再努力試試,如果有建議或是知道其中原由的前輩敬請不吝指點,謝謝。
ko
資深會員


發表:28
回覆:785
積分:444
註冊:2002-08-14

發送簡訊給我
#7 引用回覆 回覆 發表時間:2002-12-12 12:50:58 IP:61.221.xxx.xxx 未訂閱
pcernet你好: 不知你是否有試過在ADODataSet1.CommandText:=...之前先將ADODataSet1的 Active:=false 因為有時候雖然ADODataSet1有下過Active:=false可是delphi 會不經意就自動給他開啟來~"~
------
======================
昏睡~
不昏睡~
不由昏睡~
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#8 引用回覆 回覆 發表時間:2002-12-12 13:52:19 IP:61.218.xxx.xxx 未訂閱
謝謝ko,我也曾試過在active:=true前先將active設成false,還是沒用。
hagar
版主


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2002-12-12 20:06:42 IP:202.39.xxx.xxx 未訂閱
到會員求助區    -- Everything I say is a lie.
pcernet
初階會員


發表:69
回覆:113
積分:41
註冊:2002-11-29

發送簡訊給我
#10 引用回覆 回覆 發表時間:2002-12-13 15:22:14 IP:61.218.xxx.xxx 未訂閱
大家辛苦了,謝謝。
loverlin
一般會員


發表:1
回覆:35
積分:22
註冊:2002-07-15

發送簡訊給我
#11 引用回覆 回覆 發表時間:2002-12-22 11:46:45 IP:218.161.xxx.xxx 未訂閱
將 da3:='where os LIKE ' quotedstr('%' edit1.text '%') 改成 da3 := Format('where os LIKE ''%%%s%%'' ',[edit1.text]);試試 ADODataSet1.Active := false; da3:='select * from shop ' da3 ' order by address'; ADODataSet1.CommandText := da3; kk-boy
------
kk-boy
ryoryo
一般會員


發表:0
回覆:1
積分:0
註冊:2003-06-23

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-08-05 21:53:17 IP:210.201.xxx.xxx 未訂閱
如果ADo Query 的 Lock Type為ltOptimistic 在SQl select出之資料為0筆時會出現上述問題 請把Lock Type設為ltReadOnly即可避免出現上述情況
系統時間:2024-11-23 11:34:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!