在调用存储过程insert一条记录的时候,在第一次插入记录的时候没有任何问题,退出插入记录的窗口,然后再进入插入记录的窗口,接着插入记录,也没有问题,问题出在如果在插入一条记录以后,不退出该插入记录的窗口,接着再插入另一条记录的时候就报错了。错误信息为:
Project MainPro.exe raised exception class EOleException with message 'Either BOF or EOF is True,or the current record has been deleted. Requested operation requires a current record'.
请问是何问题呀?请高手指点。
Project MainPro.exe raised exception class EOleException with message 'Either BOF or EOF is True,or the current record has been deleted. Requested operation requires a current record'.
请问是何问题呀?请高手指点。
这个是著名的DELPHI5的ADO BUG,呵呵,BORLAND的网站上提供该补丁下载。
我记得这是DELPHI5才有的BUG,6和7没有这个问题。
----------------------------------------
赶快去下载补丁吧
只有DELPHI5有ADO BUG,两个补丁是ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/D5ADOUpgrade.exe
和
ftp://ftpc.inprise.com/pub/delphi/devsupport/updates/adoexpress/d5adoupdate2.exe
(仅用于D5)
ftp://ftpd.borland.com/devsupport/delphi/d7/mssql/mssqlupdate.zip
我用的是ADOQUERY
最末端﹐如果此時再插入﹐則指針移動發生越界﹐因此產生錯誤。我認為你可以在插入完
記錄﹐將指針上移一下(如﹕adoquery.prior)﹐就可解決此問題。
最末端﹐如果此時再插入﹐則指針移動發生越界﹐因此產生錯誤。我認為你可以在插入完
記錄﹐將指針上移一下(如﹕adoquery.prior)﹐就可解決此問題。
我赞同该兄的说法,你可以这样做吗?在每次要进行插入时,在执行插入的动作前面,先让
表的指针指向第一个,例如:table1.first;那么在做插入操作的时候,系统自动就从表的头开始插入,像你所说的出现的错误,说明你在程序中用到了eof,其实,在做插入操作时,没有必要用EOF的,你自己试试