三层单表更新!------在线等-----急!!!!!!!!!!!!!!!!(100分)

  • 主题发起人 主题发起人 mlb_1
  • 开始时间 开始时间
M

mlb_1

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大虾:
我写了个三层单表结构,在数据更新过程中,出现了,上一句dm5.clientdataset7.applyUpdates(0);能够更新数据,在这个produce中,我再打开同样的数据集,其中也有数据,但是,就是再更新时,就更新不了了。但是不提示任何错误。
 
问题描述得不太具体,你可以响应clientdataset7的onreconcileerror事件看看出了什么错
showmessage(e.message)
 
在onreconcileerror中写什么代码啊?我不会,帮我写一下吧。
 
你将DataSetProvider1 的ResolveToDataSet设为TRUE试试
 
我的resolvetodataset已经是true;
 
是不是数据库 唯一索引 的问题? 存在同样记录的数据字段?
 
同意
procedure TDataModule_ShipConfirm.Provider_ShipmentHeaderUpdateError(
Sender: TObject;
DataSet: TClientDataSet;
E: EUpdateError;
UpdateKind: TUpdateKind;
var Response: TResolverResponse);
begin
raise e //--先把错误发布出来看看,没有报错说明你把错误屏蔽了
end;
 
{{{{{{
resolvetodataset应该是false才对吧???老兄
}}}}}}}
或者如楼上所说,将错误信息显示出来
 
我写了一个if..else
语句if 中
begin
dm5.clientdataset7.edit;
dm5.clientdataset7.fieldbyname('字段名').asstring:=trim(edit1.text);
dm5.clientdatset7.ApplyUpdates(0);
end;
但是,把这段代码写到else
中就不能更新了。
现在,我把这个更新语句换成了一个存储过程,就能更新了。
 
1>>clientdataset7的onreconcileerror事件看看出了什么错
showmessage(e.message)
2>試試LockType:=ltOptimistic
 
哦,我已经能够看到出错信息了。LockType:=ltOptimistic是什么意思?
 
后退
顶部