起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 140|回复: 2

【结贴】关于事务**

[复制链接]
发表于 2008-12-19 12:04:47 | 显示全部楼层 |阅读模式
定义了一个业务信息InfoA,包含两个主从数据集dsMain和dsDetials,在程序中代码定义了另外两个数据集dsData和dssData,定义了事务如下:
with dsMain..Connection.Transaction do
begin
  lTransaction := Start(false);     
  try
    dsMain.Edit;  //编辑主数据集
  while not dsDetials.EOF do
    begin
       dsDetials.Edit;  //编辑从数据集
    dsData.Edit;    //编辑dsData
        dssData.Edit;  //编辑dssData
    end;
    dsMain.ApplyUpdate(true);
    Commit(lTransaction);  
  except
    Rollback(lTransaction);  
  end;
结果是:当dsData出错时,所有数据集回滚,但当dssData出错时,dsMain,dsDetials,dssData回滚,dsData没有回滚,请问如何解决这个问题。
回复

使用道具 举报

发表于 2008-12-19 13:05:18 | 显示全部楼层
http://wiki.justep.cn/%E4%BA%8B% ... 719dff73e14f79fbb78
看看这几个数据集的事物是否都串了起来
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-19 13:48:33 | 显示全部楼层
原来是这样啊,谢谢lixy,结帖吧。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-28 09:48 , Processed in 0.033110 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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