如何在多层结构删除记录??(相同记录不能够删除)ClientDataSet(100分)

  • 主题发起人 主题发起人 昨夜渡轮上
  • 开始时间 开始时间

昨夜渡轮上

Unregistered / Unconfirmed
GUEST, unregistred user!
我为什么在多层结构中不能用以下的代码删除记录?(相同记录不能够删除)
procedure TdengjiForm.SpeedButton3Click(Sender: TObject);
begin
{if not bumdengjiClientDataSet1.Eof then
begin
bumdengjiClientDataSet1.Close;
bumdengjiClientDataSet1.Open;
if messagedlg('你确定要删除吗?',mtWarning,[mbOK, mbCancel],0)=idok then
}
bumdengjiClientDataSet1.Delete;
bumdengjiClientDataSet1.ApplyUpdates(0);
end;
 
该如何写上正确的代码?
 
有错误信息吗
 
close,open//有什么意义
 
你的错误提示是什么?我想大概是数据库的索引有问题。
 
你的数据库是哪种
 
可能情况:
没有定义关键字,数据库找到了一条以上的符合条件的纪录,所以出错。自己定义一个关键字
 
问题是要看出出错信息,我给出一方法,仅供参考
在你的ClientDataSet中的OnReconcileError事件中加上Borland为你
特制的错误调和对话框, 这样,任何提交的错误信息都可在客户端反应出来
然后针对错误进行相应处理, 问题就可解决.
 
我也遇到过同样的情况,而也没有解决,后来没办法只好改为用SQL语句
来完成操作,在此等待大家的好消息
 
应该是关键字问题,可以利用HHYZWX的方法,试试。我原来用过,没有发现有这个问题。
 
我也用了ClientDataSet中的OnReconcileError事件,没有返回任何错误的信息,
只是没有一直删除下去,我的语句应该是把所用的记录删除才是的,不是吗?
 
ClientDataSet是不是不包含主键?
 
定义了关键字.不行!
我把ApplyUpdates改了允许错误的数量就好像有时候就可以.过几天就不行.
真的没有办法.
 
后退
顶部