起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 1516|回复: 0

如何实现不同业务信息的数据集在同一事务内处理

[复制链接]
发表于 2004-12-7 17:01:18 | 显示全部楼层 |阅读模式
例如,业务信息inforA(包含dsData),业务信息inforB(包含dssData),代码实现dsData和dssData这个两个数据集为主从数据集后,因为它们不在同一事务中,dssData.DataSet.ApplyUpdate(True), 就会报错。如何实现它们在同一事务,参考代码如下:

……
dsData.DataSet.Close;
  dsData.DataSet.Connection := dssData.DataSet.Connection;
  dsData.DataSet.Open;
  With dssData.DataSet.Connection.Transaction do
  begin
    lTransactionHandle := Start(False);    //启动事务
    // Start 后面的参数是指事务的启动方式
    Try
      // 处理
      ……
      dsData.DataSet.ApplyUpdates(True);
      Commit(lTransactionHandle);   //  提交事务
    Except
      Rollback(lTransactionHandle);  //回滚事务
    end;
end
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-4-26 06:45 , Processed in 0.039677 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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