一条困了好几天的问题,请大家帮帮忙。 (30分)

  • 主题发起人 主题发起人 c3411080
  • 开始时间 开始时间
C

c3411080

Unregistered / Unconfirmed
GUEST, unregistred user!
在三层主从表中,主跟从表都是通过DataSetProvider1来更新到数据库中的,在DataSetProvider1的BeforeUpdateRecord事件中怎样判断目前要更新的记录是来自主表还是从表的。
 
是我的问题说的不清楚还是?请大家帮我
 
我想你何不用两个DataSetProvider1,换一种思路不是很好嘛!
 
to Elite_liu
换二个就要增添好多代码来维护主从关系,而且换成二个DataSetProvider1其事务怎样实现
 
很简单说一下吧。
beforeupdaterecord事件包含参数 DeltaDS: TClientDataSet
其中记录了你对数据集的修改,看一下每条DeltaDS.updatestatus属性。
如果我料想不错,你用的是nestedtable的方法实现的主从表。
哪nestedfield的值也可以当作clientdataset.data处理。
如果对clientdataset.data or delta不熟悉,加msn: vincege@263.net
不过上班时间中,不好多说。
 
to kusanagi
非常感谢你的回答,我没有msn,你有QQ吗,DeltaDS是记录了那些修改过的字段的值,我怎样知道哪些字段修改过呢。
 
你简单做一个三层结构的例子,里面对一个clientdataset进行增删改。
放另外一个clientdataset2并连上dbgrid,通过点击一个按钮将clientdataset2.data:= clientdataset.delta(必须修改过clientdataset才能执行)。你可以在dbgrid中看到delta中的内容。clientdataset2的每一行的updatestatus都不同。你可以自己想办法看看
goodluck
 
谢谢,问题解决
 
后退
顶部