起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 142|回复: 4

【搞定】[请求]关于主从表的事务处理**

[复制链接]
发表于 2007-11-30 20:12:29 | 显示全部楼层 |阅读模式
procedure TCustomBill.Save;
begin
  if MasterDataSet.State in [TDataSetState.dsEdit,TDataSetState.dsInsert] then MasterDataSet.Post;
  if DetailDataSet.State in [TDataSetState.dsEdit,TDataSetState.dsInsert] then DetailDataSet.Post;
  with MasterDataSet.Connection.Transaction do begin
    FTrans:=Start(False);
    try
      if MasterDataSet.ChangeCount>0 then MasterDataSet.ApplyUpdates;
      if DetailDataSet.ChangeCount>0 then DetailDataSet.ApplyUpdates;
      Commit(FTrans);
    finally
      RollBack(FTrans);
      jsDialogs.OkCancelBox('' , '', 1) ;
    end;
  end;
end;

在以上的DetailDataSet的Connection与MasterDataSet的Connection是否为同一个Connection.如果不是这样的事务处理,存在缺陷,那么自己控制事务应该如何处理呢。请帮忙。。。
回复

使用道具 举报

 楼主| 发表于 2007-11-30 20:14:21 | 显示全部楼层
写错了。应该是except
回复 支持 反对

使用道具 举报

发表于 2007-12-3 08:32:44 | 显示全部楼层
楼主,你的“主从表”的概念是啥,是在信息层,对两个数据集定义主从吗?还是仅仅是两个没有定义任何关系的表,但这两个在意义上是主从。
关于两个数据集的事务问题,请参考
http://bbs.justep.com/forum.php?mod=viewthread&tid=3450 或者
http://bbs.justep.com/forum.php?mod=viewthread&tid=3449

需要根据你实际的业务来处理
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-6 10:50:38 | 显示全部楼层
明白了,可以结贴,谢谢。
回复 支持 反对

使用道具 举报

发表于 2007-12-6 12:03:03 | 显示全部楼层
ok
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-1 21:42 , Processed in 0.042481 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表