微软企业库 5 启用事务回滚

            SqlDatabase db = new SqlDatabase(@"server=.\sql2008;uid=sa;pwd=123456;database=DBTEST");

            using (DbConnection connection = db.CreateConnection())
            {
                //打开链接
                connection.Open();
                //创建事务
                DbTransaction Tran = connection.BeginTransaction();
                try
                {

                    db.ExecuteNonQuery(Tran, CommandType.Text, "Insert Into TLog (DEC) Values('123')");
                    db.ExecuteNonQuery(Tran, CommandType.Text, "Insert Into TLog (DEC) Values('124')");
                    db.ExecuteNonQuery(Tran, CommandType.Text, "Insert Into TLog (DEC) Values(125)");
                    //提交事务
                    Tran.Commit();
                }
                catch (Exception Ex)
                {
                    //出错回滚
                    Tran.Rollback();
                    Console.WriteLine(Ex.ToString());
                }
                finally
                {
                    //关闭连接
                    connection.Close();
                }

                Console.WriteLine("OK");
                Console.ReadKey();
            }

 

不要忘记在执行时加入“Tran”,否则不起做用的

时间: 2024-09-27 17:00:10

微软企业库 5 启用事务回滚的相关文章

ThinkPHP实现事务回滚示例代码_php实例

ThinkPHP的事务回滚示例如下: $m=D('YourModel');//或者是M(); $m2=D('YouModel2'); $m->startTrans();//在第一个模型里启用就可以了,或者第二个也行 $result=$m->where('删除条件')->delete(); $result2=m2->where('删除条件')->delete(); if($result && $result2){ $m->commit();//成功则提交

使用微软企业库EnterpriseLibary访问SQLite数据库

SQLite是一个小型的C程序库,实现了独立的,可嵌入的,零配置的SQL数据库引擎,SQLite用的非常广泛,支持通用的SQL92标准,支持事务操作, 支持最大可达2T的数据库,在小型数据库使用性能上由于微软的Access数据库等等特点. 由于默认的微软企业库EnterpriseLibary不支持 SQLite的数据库访问,因此需要在 企业库EnterpriseLibary中访问这种数据库的话,需要使用一个企业库的扩展类库,该类库可以http://entlibcontrib.codeplex.c

java-银行交易如何实现类似事务回滚

问题描述 银行交易如何实现类似事务回滚 在做的项目中,有一个基金产品的购买交易,里面的大致逻辑是 先判断用户是否基金开户,未开户发交易开基金账户>是否签约***(具体什么省略) 未签约发交易签约>最后一步发交易购买该款基金产品. 但现在的问题是购买失败则一个java类里的前两个交易都给做了现在,想不出什么类似操作数据库的事务回滚机制才控制这段交易,该交易在一个页面完成.望经验丰富的朋友给个思路,谢谢! 解决方案 你可以使用应用层的事务框架,或者自己实现一个简单的:先将操作放入临时的表中,然后一

sql-求助:网络中断时 ASP RollbackTrans事务回滚不完全

问题描述 求助:网络中断时 ASP RollbackTrans事务回滚不完全 当网络中断 没有完全运行所有代码时 member 表会回滚 但是 shenhe表不回滚 SQL数据库 已经出现了 shenhe表有记录 member没有对应的记录 <%conn.BeginTrans call checkPost() psw=lostsql(trim(request.Form(""psw""))) repsw=lostsql(trim(request.Form(&qu

PHP pdo 事务回滚代码实例

PHP pdo 事务回滚代码实例 $this->beginTransaction(); $this->exec('update people set age=2'); //$step1 = mysql教程_error();//你的类里,改成如果执行sql错误,获取错误代码,相应的函数 $this->exec('INSERT INTO course (course,num) VALUES ("数学",100)'); //$step2 = mysql_error(); i

PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)_php技巧

本文实例讲述了PHP入门教程之使用Mysqli操作数据库的方法.分享给大家供大家参考,具体如下: Demo1.php <?php //使用 mysqli 对象操作数据库 //创建 mysqli 对象(资源句柄) $_mysqli = new mysqli(); //连接数据库 1.主机名(ip) 2.账户 3.密码 4.数据库 //mysqli_connect 函数 == $_mysqli -> connect(); $_mysqli -> connect('localhost','ro

spring事务回滚只能配在service层吗。为什么我想在Test中添加事务不能进行回滚呢

问题描述 spring事务回滚只能配在service层吗.为什么我想在Test中添加事务不能进行回滚呢 <tx:advice id="txAdvice2" transaction-manager="txManager"> <tx:attributes> <tx:method name="inserttwo*" propagation="REQUIRED"/> </tx:attribut

数据库-在用微软企业库连接SqlServerCe不成功

问题描述 在用微软企业库连接SqlServerCe不成功 我在项目中用微软企业库的方式连接SqlServer Ce不成功,但是连接MSSQL没问题:我想知道微软企业库是否能连接SqlServer Ce: 配置文件 <add name=""CS_Telecom"" connectionString=""Data Source=D:EWS_ProjectDataBaseMyDatabase#1.sdf;Password=123456"

微软企业库删除效率问题

问题描述 方法一DataTabledt=silkPlanDataset.MT_PL_ZS_TASK_DEL.GetChanges(DataRowState.Deleted);if(dt!=null){//dt.RejectChanges();DateTimedtime1=DateTime.Now;DataColumn[]keys=newDataColumn[1];keys[0]=dt.Columns["ZS_TASK_DEL_ID"];dt.PrimaryKey=keys;//指定主键