多个DW进行update

//菜鸟代码
dw_1.Update()
dw_2.Update()
初级代码
IF dw_1.Update() = 1 And dw_2.Update() = 1 THEN
        COMMIT;
ELSE
        ROLLBACK;
END IF
中级代码
IF dw_1.Update() = 1 THEN
        IF dw_2.Update() = 1 THEN
                COMMIT;
        ELSE
                MessageBox("提示","喝多了!")
                ROLLBACK;
        END IF
ELSE
        MessageBox("提示","喝多了!")
        ROLLBACK;
END IF
高级代码
IF dw_1.Update() = 1 THEN
        IF dw_2.Update() = 1 THEN
                COMMIT;
        ELSE
                ROLLBACK;
                MessageBox("提示","少喝点!")
        END IF
ELSE
        ROLLBACK;
        MessageBox("提示","少喝点!")
END IF
专家级代码
IF dw_1.Update(True,False) = 1 THEN
        IF dw_2.Update(True,False) = 1 THEN
                dw_1.ResetUpdate()
                dw_2.ResetUpdate()
                COMMIT;
        ELSE
                ROLLBACK;
                MessageBox("提示","没喝高啊!")
        END IF
ELSE
        ROLLBACK;
        MessageBox("提示","没喝高啊!")
END IF

多个DW进行update,有时会不能全部成功update 用事务处理时,多个DW进行update后,再COMMIT.偶然会发现前面几个DW update成功,但后面的表失败时,好像执行了COMMIT,不会rollback.

正确的写法如下: 
if dw_1.update(true, false)= 1 and dw_2.update(true, false)=1 ...then 
  commit; 
  dw_1.resetUpdate(); 
  dw_2.resetUpdate();

else 
  rollback; 
end if

 
 

PB开发境界 多个DW进行update的更多相关文章

  1. 【linux开发】ubuntu执行sudo apt-get update提示缺少公钥

    ubuntu执行sudo apt-get update提示缺少公钥 提示信息如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 获取:1 http://arch ...

  2. PB代码动态解析执行器

    当你看到VB.VFP等开发语言提供的强大的宏执行功能,是不是很羡慕呢?当你寻遍PB的帮助.关于PB开发的书籍或网站而不可得的时候,是不是感到有一丝的遗憾?如果你看到这篇文章,你应该感到振奋,因为你终于 ...

  3. Visual Studio 2012 Update 4 RC 启动调试失败解决方案

    以下解决办法适用于任何Visual Studio开发环境,及Windows NT 6.1以上系统. 系统:Windows 8.1 Enterprise x64 RTM 开发环境:Visual Stud ...

  4. 如何使用Visual Studio 2013 开发PHP5.6项目

    原文如何使用Visual Studio开发PHP项目 在windows下开发php除了记事本 DW 以及一帮Zend studio,Eclipse,NetBeans之流以外,个人感觉还是vsiual ...

  5. 基于.Net进行前端开发的技术栈发展路线(三)

    前言 上一篇<我的技能树二>文章分享了我的技能中的前端技能和Java技能,今天继续跟大家分享的就是后端技能了. 我的技能树 我当前的技能树: 其中,标注为黄色旗帜的是基本掌握,标注为红色旗 ...

  6. RN开发中的报错以及告警

    报错一: Attempted to transition from state `RESPONDER_INACTIVE_PRESS_IN` to `RESPONDER_ACTIVE_LONG_PRES ...

  7. kali linux 配置嵌入式开发环境

    kali linux 2018.2 x64 一.支持i386库 如果你是64位的Kali Linux系统,用如下命令添加i386架构支持到你的开发环境. dpkg --add-architecture ...

  8. java模块开发关键步骤

    1. 创建数据表 a) 确定表名(如:role) b) 确定表中的业务列(如:role_name.role_desc) c) 添加其它基本列 i. 如:role_id(主键).status(数据状态, ...

  9. 中国区 Azure 应用程序开发说明

    1.文档简介 微软公司为其在境外由微软运营的 Azure 服务(以下简称为 “境外 Azure”),创建和部署云应用程序,提供了相应工具. 在中国,由世纪互联运营的 Microsoft Azure ( ...

随机推荐

  1. jdk和tomcat的安装

    https://blog.csdn.net/angel_w/article/details/78580528

  2. phpstudy 配置端口 和 虚拟域名访问

    打开phpstudy窗口 选择->其他选项菜单->打开配置文件->httpd.conf 添加一个 Listen 8081(端口号) 查看到    Include conf/vhost ...

  3. server 打开失败

    server:An unexpected exception was thrown. 当server服务器遇到这样遇到不能料想的错误导致打开失败的情况下,我们可以找到一个com.genuitec.ec ...

  4. django 富文本编辑器

    创建工程,数据中数据格式设置为 models.TextField() 此时编辑器是普通的文本框. 使用 tinymce .安装 django-tinymce pip install django-ti ...

  5. js 14位字符串 转日期

    const pattern = /(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/; const newDate = new Date(timeEnd.repla ...

  6. 初始js闭包&事件的冒泡和捕获&EVENT对象

    一.初识闭包 function a(){   var n = 0;   this.inc = function () {     n++;     console.log(n);   }; } var ...

  7. 微信小程序云端解决方案探索之路 - GITC 主题演讲

    转自:https://github.com/tencentyun/blog/issues/1 在刚结束的全球互联网技术大会(GITC)里面,我在前端专场给大家分享了「微信小程序云端解决方案探索之路」, ...

  8. NC 刷新后,停留上一次选择的行(多行)

    如图,我点击批量输入后,会调用列表刷新按钮.但数据之前选择的光标会跳到第一行,原先选择的行就不知道是哪行可.图为最终效果 // 批量输入日期后实时刷新 apply update(batch input ...

  9. OO第一单元三次作业总结

    写在前面 第一单元作业是针对输入的多项式进行格式合法判断,然后进行求导,结果长度优化,最后输出.三次难度递增,不断添加新的需求,总体感觉在实现方面没有多大困难(?),个人主要困扰环节是寻找自己未知bu ...

  10. 《修炼之道:.NET开发要点精讲》读书笔记(四)

    委托的作用:1)它允许把方法作为参数,传递给其它的模块:2)它允许我们同时调用多个具有相同签名的方法:3)它允许我们异步调用任何方法. “方法签名”指方法的参数个数.参数类型以及返回值等,具有相同签名 ...