C# 事务之SqlTransaction

 private static void Execute(string connectionString)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                connection.Open();
                SqlTransaction transaction;
                using (SqlCommand cmd = connection.CreateCommand())
                {
                    //启动事务
                    transaction = connection.BeginTransaction();
                    cmd.Connection = connection;
                    cmd.Transaction = transaction;
                    try
                    {
                        cmd.CommandText = "sql语句!";
                        cmd.ExecuteNonQuery();

                        //完成提交
                        transaction.Commit();
                    }
                    catch(Exception ex)
                    {
                        //数据回滚
                        transaction.Rollback();
                        throw ex;
                    }
                }
            }

        }

在ADO.NET中使用SqlTransaction事务的例子代码,需要说明的已经写成注释。参考:http://www.cnblogs.com/wang726zq/archive/2012/05/17/Transaction.html

时间: 2024-10-04 22:10:08

C# 事务之SqlTransaction的相关文章

数据访问——关于事务

事务——transaction ,它有一个典型的特点:ACID A——原子性:事务是一个整体,不能再拆分,要么都执行要么都不执行: C——一致性:事务执行之前和执行之后的数据要一致: I——隔离性:事务在执行过程中,所有与事务相关的对象都不能再执行其他的操作(相当于被隔离起来) D——持久性:事务在遇到某种特殊情况导致操作未执行完的时候,数据会回滚到最初状态 事务分为两类: 一,链接内事务:在链接打开后,使用事务控制多条语句的执行 1,创建事务对象 SqlTransaction trans=co

Asp.Net事务和异常处理:

Asp.Net事务和异常处理:一.什么是事务处理?事务处理是一组组和成逻辑工作单元的数据库操作,虽然系统中可能会出错,但事务将控制和维护每个数据库的一致性和完整性.如果在事务过程中没有遇到错误,事务中的所有修改都将永久成为数据库中的一部分,如果遇到错误,则不会对数据库进行任何修改.二.事务处理过程.1. 开始一个事务.进入“事务待命”状态.2. 在“事务待命”状态,记录事务中改变的数据库记录.此改变不能直接改变数据库中的值,必须先用一个顺序的“事务日志”记录在一边.同时,对于要改变的原始记录加锁

.Net 事务

在分布式应用程序中,不可避免地会经常使用到事务控制.事务有一个开头和一个结尾,它们指定了事务的边界,事务在其边界之内可以跨越进程和计算机.事务边界内的所有资源都参与同一个事务.要维护事务边界内资源间的一致性,事务必须具备 ACID 属性,即原子性.一致性.隔离性和持续性. 1.本地事务和分布式事务 本地事务是其范围为单个可识别事务的数据资源的事务(例如,Microsoft SQL Server 数据库或 MSMQ 消息队列).例如,当单个数据库系统拥有事务中涉及的所有数据时,就可以遵循 ACID

C#连接层的数据访问类(简单版)

目前只写了与SqlServer的数据处理. 首先是静态工厂类. using System; using System.Configuration; namespace XPSoft.BaseLibrary.DataAccess { /// <summary> /// 数据访问对象的静态工厂类,用于创建不同类型的数据访问对象. /// </summary> public static class DataAccessFactory { /// <summary> ///

ADO.NET(课程学习内容)

1.ADO.NET概述 ·什么是ADO.NET? ADO.NET是一种访问数据库的技术,是.NET 托管应用程序的数据库API 位于System.Data及其子命名空间中的类型集合,用来在.NET平台内访问和处理数据库中的数据 ADO革命性的.更可靠的继承者 为基于Web的无连接环境而设计 得到了高级XML支持的编程模型 ·ADO.NET对象模型 ·已连接环境 1.在已连接环境中,用户可以经常连接到数据源 2.优点 更安全.更容易维护 更容易控制并发性 与非连接环境比较,数据刷新更及时 3.缺点

DbHelperSQL

1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Data; 5 using System.Data.SqlClient; 6 using System.Reflection;//反射命名空间 7 8 namespace LeaveWordBorad.DAL 9 { 10 /// <summary> 11 /// 数据层 - 数据库 操作类 12 /// </su

ADO.NET事务处理

执行ADO.NET事务包含四个步骤 以SqlTransaction对象为例介绍: 1)调用SqlConnection对象的BeginTransaction()方法,创建一个SqlTransaction对象,标志事务开始. 2)将创建的SqlTransaction对象分配给要执行的SqlCommand的Transaction属性. 3)调用相应的方法执行SqlCommand命令. 4)调用SqlTransaction的Commit()方法完成事务,或调用Rollback()方法中止事务. 注意:在

C# winform DataTable 批量数据处理 增、删、改 .

1.批量新增,采用高效的SqlBulkCopy SqlBulkCopy DTS = new System.Data.SqlClient.SqlBulkCopy(con); DTS.NotifyAfter = 1; DTS.DestinationTableName = datatable.name; DTS.BulkCopyTimeout = 60000000; DTS.WriteToServer(datatable); succ = dtSource.Rows.Count.ToString();

第五节 了解事物

事务就是真实世界中的一些事件,比如银行事务,航班预定,资金汇寄等. 事务是一组被当作一个单元执行的操作.它在执行时要么全部成功,要么全部失败. 事务有四个属性,常称为ACID.原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability). 1.原子性:整个事务中的所有操作,要么全部完成,要么全部不完成,不可能停滞在中间某个环节.事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样.