请问try......except..为什么捕捉不到记录的主键值重复的异常?奋斗给了(50分)

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

hyxic

Unregistered / Unconfirmed
GUEST, unregistred user!
请问try......except..为什么捕捉不到记录的主键值重复的异常?形式如内(我用的是Midas三层架用Socketconnection连结服务层)。
try
ClientDataSet1.Applypdate(0);

except
ShowMessage('保存异常!');
end;

请问各位老师,当我输入已存在的主键,保存后程序捕捉不到任何异常,但数据业没保存成功!
 
我也不知道。
看看谁知道啊?
 
try
ClientDataSet1.Applypdate(0);
//在客户端时没有发生错误,所以没有执行except
except //如果错误是类型不匹配客户端就会发生执行异常
ShowMessage('保存异常!');

end;

如果要捕捉异常可以在ReconcileError事件中,好像是这个..
不过建议在Applypdate之前先作客户端验证,减少失败的交易..
 
ClientDataSet的关于数据库后台的异常需要在它的OnReconcileError事件里去捕捉,只要操作出现错误,就会触发这个事件,OK
procedure TForm1.ClientDataSet1ReconcileError(
DataSet: TCustomClientDataSet;
E: EReconcileError;
UpdateKind: TUpdateKind;
var Action: TReconcileAction);
begin
ShowMessage(E.Message);
//显示错误信息
end;
 
多谢各位,还没试过,先给分了!谢谢了
 
后退
顶部