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

TADOQuery的問題!!

答題得分者是:samba
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-04-07 16:58:58 IP:61.219.xxx.xxx 未訂閱
以下是我的程式片段: TADOQuery *ADOQuery1 ; ADOQuery1=new TADOQuery(Application); ADOQuery1->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" ExtractFilePath(Application->ExeName) "SGSN.mdb;" ; ADOQuery1->Close() ; sql="select SGSN_ID from SGSN where LAC=" ; sql=sql rau_req->current_LAC ; ADOQuery1->SQL->Clear() ; ADOQuery1->SQL->Add(sql) ; ADOQuery1->Open(); current_SG=ADOQuery1->Fields->Fields[0]->AsString; ADOQuery1->Close() ; sql="select SGSN_ID from SGSN where LAC=" ; sql=sql rau_req->previous_LAC ; ADOQuery1->SQL->Clear() ; ADOQuery1->SQL->Add(sql) ; ADOQuery1->Open(); previous_SG=ADOQuery1->Fields->Fields[0]->AsString; ADOQuery1->Close() ; 當我程式執行,而且Query的結果是NULL的話, ADOQuery1->Close() 這一行會出問題, 會出現"可能是BOF 或 EOF 的值為True,或目前的資料錄已被刪除。所要求的操作需要目前的資料錄。"的錯誤訊息~ 是否當Query的結果是NULL時,就不行把ADOQuery給close呢? 奇怪的是,我的OS是Windows XP,當我用xp的電腦執行的話就會出錯, 但是當我用Windows 2000的電腦就可以正常執行Close的動作,不管 結果是否為null。我用了幾台不同OS的電腦都是這樣的情況,怎麼會這樣子呢? 真不知該如何是好!!麻煩各位大大幫幫我好嗎??
huwk
資深會員


發表:26
回覆:340
積分:323
註冊:2002-04-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-04-15 01:41:14 IP:211.76.xxx.xxx 未訂閱
請問二台電腦的mdac都是同版本嗎?
------
熊的學習 http://huwk.blogspot.com
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-04-15 08:48:13 IP:61.219.xxx.xxx 未訂閱
這...我也不清楚耶~~~ 要在哪裡查看呢??
samba
一般會員


發表:10
回覆:14
積分:9
註冊:2003-04-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-04-15 09:13:04 IP:202.104.xxx.xxx 未訂閱
在 ADOQuery1->Close();之前加这句 ADOQuery1->First(); 试试!
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-04-15 09:43:11 IP:61.219.xxx.xxx 未訂閱
謝謝你的回應,我試過了,一樣沒用......
huwk
資深會員


發表:26
回覆:340
積分:323
註冊:2002-04-03

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-04-15 12:51:04 IP:61.222.xxx.xxx 未訂閱
引言: 這...我也不清楚耶~~~ 要在哪裡查看呢??
進機碼查最快. HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MDACVer.Version\CurVer 或是將二部的mdac都更到2.7再試試... 發表人 - huwk 於 2003/04/15 12:52:45
------
熊的學習 http://huwk.blogspot.com
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-04-15 13:58:50 IP:61.219.xxx.xxx 未訂閱
Windows 2000 MDAC的版本是2.5,而XP的版本是2.7, 2.5的版本不會有這個錯誤訊息產生,2.7的才會有~ 我把Windows2000的MDAC更新到2.7,結果就產生了同樣的錯誤訊息~ 看來是MDAC的問題,難道說要我把xp的MDAC改成2.5的版本嗎?? 還是有其他解決方法呢??
samba
一般會員


發表:10
回覆:14
積分:9
註冊:2003-04-10

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-04-15 14:14:32 IP:202.104.xxx.xxx 未訂閱
有没有更新C Buider6.0的Pack4 , 我更新之后,什么问题都没有了, 以前我也经常不能Close Table and ADOQuery
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#9 引用回覆 回覆 發表時間:2003-04-15 14:55:35 IP:61.219.xxx.xxx 未訂閱
我用的是BCB 5.0,不是6.0... 5.0有Pack可以更新嗎??
samba
一般會員


發表:10
回覆:14
積分:9
註冊:2003-04-10

發送簡訊給我
#10 引用回覆 回覆 發表時間:2003-04-15 15:22:45 IP:202.104.xxx.xxx 未訂閱
在 http://www.borloand.com 上有!
huwk
資深會員


發表:26
回覆:340
積分:323
註冊:2002-04-03

發送簡訊給我
#11 引用回覆 回覆 發表時間:2003-04-15 18:44:06 IP:61.222.xxx.xxx 未訂閱
引言: 我用的是BCB 5.0,不是6.0... 5.0有Pack可以更新嗎??
http://info.borland.com/devsupport/bcppbuilder/patches/#cbuilder5
------
熊的學習 http://huwk.blogspot.com
wivern
初階會員


發表:31
回覆:63
積分:28
註冊:2002-07-31

發送簡訊給我
#12 引用回覆 回覆 發表時間:2003-04-16 09:19:23 IP:61.219.xxx.xxx 未訂閱
謝謝各位~~我在Borland上找到更新檔, 更新檔說明如下: ADOExpress Update: This update addresses a problem that surfaces when ADO is used in conjunction with MDAC 2.6. The most common problem encountered is the error "Either EOF or BOF is True, or the current record has been deleted. Requested operation requires a current record" when closing an empty dataset or canceling an edit operation. Affected applications must be recompiled for changes to take affect. 剛好就是我目前的問題,更新後就沒有問題了~~謝謝各位大大~ 不過只能指定一位答題得分者,只好給先回答要去更新的samba了~~ huwk真對不起了~ 也恭喜samba得到第一題得分啊!
系統時間:2024-04-24 11:39:16
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!