TSQLCOnnection+TSQLdataset+TDatasetProvid+TClientdataset+TDatasource更新数据回数据源,要真正把修改的数据更新回数据源中必须调用TClientDataSet的ApplyUpdates的方法。
ApplyUpdates方法的声明原型:
function ApplyUpdates(MaxErros:Integer);Integer;Virtual;
ApplyUpdates方法接受一个整数类型的参数,MaxErrors。MaxErrors代表当TDataSetProvider自动更新数据时,程序员所允许发生的错误次数。如果ApplyUpdates在更新数据时发生了超过MaxErrors指定的数量的错误,那么这整个更新动作便会被回滚。相反的如果发生的次数小于或是等于MaxErrors,那么成功更新的数据仍然会被更新到数据源中,至于没有成功更新的数据则可以让程序员通过错误事件处理函数来决定如何处理这些失败的数据。通常传递给ApplyUpdates方法的MaxErrors参数是0,代表不允许发生任何更新错误。或是传递-1,代表不管发生多少错误都没有关系,先把能够成功更新的数据更新回数据源中。
TSQLCOnnection+TSQLdataset+TDatasetProvid+TClientdataset+TDatasource更新数据回数据源,要真正把修改的数据更新回数据源中必须调用TClientDataSet的ApplyUpdates的方法。ApplyUpdates方法的声明原型: function ApplyUpdates(MaxErros:Integer
在使用Cl
ient
DataSet
控件时,在关联的TDBGrid控件插入不合法的字段,再执行Cl
ient
DataSet
的
Apply
Updates
方法
,数据插入失败
但在客户端没有报异常,try...except...end 无法捕捉到。
在网上找到了几种解决
方法
第一种是在中间服务层的
DataSet
Provider控件中加入OnUpdateError事件
在事件中加入如下代码: