服务器端二次开发标准事务保存数据

原创 2015年11月18日 15:48:22
            //获取要保存数据表的表结构
            Table table1 = service.GetTableStruct("default", "DELIT_TASK_LIST");
            Table table2 = service.GetTableStruct("default", "DELIT_RULES_IN_TASK");

            //配置好要在事务中执行的SQL语句
            string sql="DELETE FROM DELIT_TASK_LIST WHERE ID='123456'";

            //获取数据库
            Database db = service.GetDatabase("default");
            //创建连接
            DbConnection conn = db.CreateConnection();
            conn.Open();
            //创建事务
            DbTransaction tran = conn.BeginTransaction();

            //保存数据和执行语句
            service.SaveDataTable(db, tran, table1, taskDataTable, null);
            service.SaveDataTable(db, tran, table2, dt, null);
            int n = service.ExecuteNonQuery(db, tran, sql, null);

            try
            {
                //提交事务。
                tran.Commit();
                tran.Dispose();
                conn.Close();
                conn.Dispose();
                return true;
            }
            catch (Exception ex)
            {
                string errmsg;
                tran.Rollback();
                if (ex.InnerException != null)
                    errmsg = ex.InnerException.Message;
                else
                    errmsg = ex.Message;
                tran.Dispose();
                conn.Close();
                conn.Dispose();
                return false;
            }

因为是服务端事务,如果在事务中执行ExecuteNonQuery,可以得到结果,并且可以根据结果选择提交还是放弃提交数据

原文地址:http://bbs.delit.cn/thread-313-1-1.html

转载请注明出处:

撰写人:度量科技www.delit.cn

Building Coder(Revit 二次开发) - 临时事务的使用技巧

原文链接:Temporary Transaction Trick Touchup Jeremy 我在 temporary transaction trick 中提到了多种利用临时事务实现特...
  • flower4wine
  • flower4wine
  • 2012年11月22日 10:44
  • 1414

Revit二次开发之Revit事务模式(TransactionMode)【比目鱼原创】

由于Revit API对于Revit事务没有默认值,用户必须显式地指定标签值。用户在实现IExternalCommand接口时必须指定执行命令所使用的TransactionMode属性。 ...
  • bbkxw001
  • bbkxw001
  • 2017年11月30日 16:56
  • 185

客户端上传文件&服务器端保存数据

媒资系统实现附件在点击“提交”按钮时才保存文件到服务器指定目录的相关信息:1、媒资上载附件采用的是swfupload控件,这个控件是在用js上传文件到指定目录,这是客户操作。2、媒资入库的时候不仅仅是...
  • yanli0823
  • yanli0823
  • 2008年11月25日 19:29
  • 3047

单机版车牌识别PC端的技术

在国内,由文通携手清华大学成功地将"国家863计划"项目成果——"文字图像识别技术TH-OCR"产业化,真正实现了TH-OCR技术与市场应用的完美结合。车牌识别OCR技术,是在OCR光学字符识别技术的...
  • zky13512721355
  • zky13512721355
  • 2017年06月29日 21:23
  • 209

Hibernate规范事务的写法

Hibernate事务代码规范写法以前我们写的事务代码还不规范,下面我们来写一下事务的规范代码:public class HibernateUtils{ private static Confi...
  • Marvel__Dead
  • Marvel__Dead
  • 2017年03月12日 21:53
  • 728

基于AE的GIS二次开发作业文档

一、系统概述 1、系统简介 系统是在VS2008中利用ArcGIS Engine10.1进行的二次开发。系统主要有菜单栏、内容列表、鹰眼视图、操作面板、地图视图、布局视图等六大功能模块区。 2、功能简...
  • zxcvbnm32123
  • zxcvbnm32123
  • 2013年06月11日 20:58
  • 5097

[bitcoin-010]比特币的本质-005 密钥对-Transaction事务

Transaction事务 [1]CTransaction #定义在primitives/transaction.h:264定义。一个Tx有多个CTxIn,有多个CTxOut,还有版本信息和...
  • u011539200
  • u011539200
  • 2018年01月28日 14:04
  • 46

REVIT二次开发 系统错误处理

下面文字转载自审什空间 在一个连续的事务中回滚失败的单个操作,并且禁止所有失败消息框(包括警告和错误) 问题 我试图实现一个失败处理函数:禁止所有警告消息框并撤销导致...
  • beckhans
  • beckhans
  • 2013年11月01日 16:04
  • 1523

二次开发接口(API)与插件(Addin)

二次开发接口(API)与插件(Addin)许式伟 (版权声明)2007-4-20在前文,我们已经解释了: 自动化(Automation)基础概念:COM组件(Component)与接口(Inte...
  • wishfly
  • wishfly
  • 2007年04月20日 10:16
  • 3007

JPA规范介绍及实例(Java数据持久化解决方案)

ORM框架的出现,使直接存储对象成为可能,它们将Java对象拆分成SQL语句,并利用JDBC保存到数据库。但是不同的框架,使用起来却是很大不同的,这也导致开发者需要学习各种不同的ORM框架(虽然你可能...
  • anxpp
  • anxpp
  • 2016年05月12日 23:16
  • 11910
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:服务器端二次开发标准事务保存数据
举报原因:
原因补充:

(最多只允许输入30个字)