我的D5.x的ADOExpress没有加补丁,经常发生这样的错误。Bof 和 Eof 的错误好象是在数据集关闭的时候才会出错。可以这样,例如: procedure nextbuttonOnClick(Sender:TObject); begin ADODataSet1.next; if ADODataSet1.Eof then ADODataSet1.Last; end; 一句话,在数据集关闭之前,若数据集可能到Bof,Eof,则强行TADODataSet.First,TADODataSet.Last;
哈哈,我以前也碰上过这样的问题,按我的方法一定行! 这个错误是出现在用ADOQuery执行SQL语句后而没有返回记录产生的。 解决方法是在执行SQL语句前要先对ADOQuery进行关闭操作,并且要先进行判断: if not AdoQuery1.Eof then AdoQuery1.Close; 而且在给ADOQuery添加SQL语句的时候不要用SQL.Add,要用 AdoQuery1.SQL.Text='....';
procedure nextbuttonOnClick(Sender:TObject);
begin
ADODataSet1.next;
if ADODataSet1.Eof then
ADODataSet1.Last;
end;
一句话,在数据集关闭之前,若数据集可能到Bof,Eof,则强行TADODataSet.First,TADODataSet.Last;
再操作adotable1.cancel就会报错。升级补丁前没事,没想到升级后错误不断,以前编的程序都无法运行
不要光想着自己的补丁没有打好
企业版补丁,
ADO upgrade1,
ADO upgrade2,
建议你用delphi6吧!我就是换了Delphi6才解决的!!!
这个错误是出现在用ADOQuery执行SQL语句后而没有返回记录产生的。
解决方法是在执行SQL语句前要先对ADOQuery进行关闭操作,并且要先进行判断:
if not AdoQuery1.Eof then
AdoQuery1.Close;
而且在给ADOQuery添加SQL语句的时候不要用SQL.Add,要用
AdoQuery1.SQL.Text='....';