怎样实现CleintDataset的级联更新?(100分)

  • 主题发起人 主题发起人 xhbeng
  • 开始时间 开始时间
X

xhbeng

Unregistered / Unconfirmed
GUEST, unregistred user!
我用ClientDataset的巢状数据集实现主表明细模式,用其制作了一销售单据,用单号来关联主单和单据明细。现修改单号,保存,系统出错,提示“Cascaded updates not enabled”;如果修改单号同时也修改所有明细相关联的主单号,不等保存,系统出错,提示“No corresponding master record found”
 
代码如下:
begin
trans
try
if Applyupdate(cds_Master) and Applyupdate(cds_Detail) then
commit tran
except
on e:exceptiondo
rollback tran
end;
 
大侠,谢谢你!
但我的问题并非在ApplyUpdate的时候出现,无关数据库或应用程序服务器的事情。如修改单号,在主单Post时候就会出现“Cascaded updates not enabled”错误提示。同样,用第二种方法解决,主单号修改时同时修改明细的单号,不能成功,在明细Post的时候就会出现“No corresponding master record found”的错误提示。
 
sorry,你的MasterSource和MasterFields 设置好了吗? 请你
进入DBClient下面 Debug ,看一下,
或者使用 GetDetailLinkFields 和 GetDetailDataSets方法来确认一下!
 
老兄:你好,
我是在应用程序服务器采用dbExperss,客户端采用巢状数据集,而巢状数据集不能设置MasterSource和MasterFields。 巢状数据集新增时会默认主数据集的关键字,但为什么修改时不能级联修改,删除时不能级联删除呢?
 
vinson_zeng,我找到答案了, 在provider的option属性处添加opCascadeDeletes和opCascadeUpdates就可以了
 
后退
顶部