ADO控件在删除数据时出现"RecordIndex Out Of Range"错误,应该如何解决? ( 积分: 300 )

  • 主题发起人 主题发起人 zhp2003
  • 开始时间 开始时间
Z

zhp2003

Unregistered / Unconfirmed
GUEST, unregistred user!
在Delphi7开发环境中,使用了ADODataSet.Delete会产生错误,请各位帮忙看如何解决?还有一个问题,在删除最后一笔记录时会出现"BOF或EOF中有一个是'真',或者当前记录已被删除 ......"的错误,我用的是Delphi7,以前用Delphi5会有这个问题,但打了补丁后就解决了,Delphi7没这样的补丁,该如何解决啊.....急
 
在Delphi7开发环境中,使用了ADODataSet.Delete会产生错误,请各位帮忙看如何解决?还有一个问题,在删除最后一笔记录时会出现"BOF或EOF中有一个是'真',或者当前记录已被删除 ......"的错误,我用的是Delphi7,以前用Delphi5会有这个问题,但打了补丁后就解决了,Delphi7没这样的补丁,该如何解决啊.....急
 
装MDAC2.8加补丁
 
请问应加什么补丁啊
 
MDAC2.8和D7的补丁
 
D7的补丁我找了很久都没找到,哪里可以下载呢?
 
在OnDeleteError事件里重新查询表,我系统就是这样做,无问题请结贴给分,谢谢
 
改用sql语言删除
 
支持用SQL语句“DELETE FROM TABLE”
 
我是继承了DataSet的基类,所以必须用控件的删除方法.
 
在OnDeleteError事件中重新查询还是会出错???
 
你删除最后条记录,你是根据什么知道就是最后条记录的?
eof?
 
我的记录集是空的,然后新增一笔,保存后删除就出错了
 
不会呀,下面是我的代码,你参考一下吧。
//------------------------------------------------------------------------------
//删除按钮
procedure TfClientSort.BitDeleteClick(Sender: TObject);
begin
if MessageBox(GetActiveWindow,pchar('您真的要删除这条记录吗?'),pchar('警告'),MB_OKCANCEL+MB_ICONWARNING) = idOK then
begin
fData.ADOdsClientSort.DeleteRecords(arCurrent);
end;
if fData.ADOdsClientSort.RecordCount <= 0 then
begin
BitEdit.Enabled := False;
BitDelete.Enabled := False;
end
else
begin
BitEdit.Enabled := True;
BitDelete.Enabled := True;
end;
end;
 
这个问题值300分啊?
 
试过了,问题还是一样,我发现记录其实已经被删除;
 
有可能是你的控件写的问题,再查查,建议使用SQL进行操作!
 
我使用了dxLookupTreeView控件,在删除时出现"RecordIndex out of range"错误,把该控件删除掉就没问题了,在别的窗体也有用这个控件,但删除记录时不会出错,这是什么原因呢???
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
964
import
I
后退
顶部