發生異常"Either EOF or BOF is True, 。。。。。。。(200分)

  • 主题发起人 主题发起人 HAZL
  • 开始时间 开始时间
H

HAZL

Unregistered / Unconfirmed
GUEST, unregistred user!
"Either EOF or BOF is True, or the current record
has been deleted. Requested operation requires a current record"
哪我把 adotable.cachesize 設置成 100(大於一) 並且用下面的代碼時就會發生這個錯誤.
//*******************
ADOtable.disableconstrols
ADOtable.first;
while not ADOtable.eof do
begin
ADOtable.delete;
end;
//*******************
但是當我把ADOtable.disableconstrols這句去掉,或都cachsize設為1 兩者選 其中一個時
就不會出現錯,但是cachsize設為1或ADOtable.disableconstrols時程序的 效率十分的差

//*******************
//ADOtable.disableconstrols ******** note *******
ADOtable.first;
while not ADOtable.eof do
begin
ADOtable.delete;
end;
//*******************

有人讓我裝ado的補丁,我已經裝了borland最新的補丁包,還是會出來。怎麼辦呀
who can help me ?


 
ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe
 
這個我已經裝了
 
一切,重新安装,应该可以
 
先enterprise,在 ado补丁一,ado补丁二
 
我也碰到了,只要数据指针指向EOF,关闭数据库时就会报这个错,打开空数据表时更是必报
是不是ADO的bug?有人解决了吗?
我的ado已经打上了最新的2.6补丁
 
我以前也遇到过,安装ADO补丁就没事了。
 
我重新安裝了delphi5然後
先enterprise,在 ado补丁一,ado补丁二
還是解決不了問題,我發現問題出在ado一個單元的deleXX方法裡。
好象是這麼寫的
if cachesize >1 and XXXX(忘了,好象和disableconstrol有關,用了這個方法後就會兩個條件都是真)
begin
movepre
movenext;
end;
movenext;
估計問題出在這裡。
現在我幹脆不用disableconstrol了,用另一個臨時空ADOcostumDateset用recordset倒來倒去做了,
效果還行

 
后退
顶部