SQLServer事务在C#当中的应用
发布时间:2020-12-12 14:19:56 所属栏目:MsSql教程 来源:网络整理
导读:1:事务是什么? ? ? ?? ? 事务 指的是一系列SQL操作的逻辑工作单元,,要么完全地执行,要么完全地不执行。 一个逻辑工作单元必须有 4个属性 , 原子性(Atomic) 、 一致性(Consistent) 、 隔离型(Isolated) 、 持久性(Durable) ,简称为 ACID 。 2:
1:事务是什么? ? ? ??? 事务指的是一系列SQL操作的逻辑工作单元,,要么完全地执行,要么完全地不执行。 一个逻辑工作单元必须有4个属性,原子性(Atomic)、一致性(Consistent)、隔离型(Isolated)、持久性(Durable),简称为ACID。 2:在c#中怎么简单实现事务在c#实现中实现数据库的事务其实并不难,但是我们要知道为什么使用数据库的事务,我们在实际业务场景中可能会遇到这样的一种情况:例如我们需要在一张数据库中插入两条数据,有的时候会出现第一条数据插入成功,但是第二条数据并未插入成功的情况,在这种业务情况下,我们不可能只保留第一条数据而忽略失败的第二条数据,因此,在这种情况下引入数据库的事务机制,就是为了让这组操作要么同时执行,要么同时不执行。 首先定义一个数据库连接并且打开,这里例子举的是SQL数据库,代码如下 string conn = Config.sqlTransactionString; SqlConnection myConnection = new SqlConnection(conn); myConnection.Open(); 接着通过数据库连接对象启动业务并为事务创建一个命令 //启动一个事务 SqlTransaction myTrans = myConnection.BeginTransaction(); //为事务创建一个命令 SqlCommand myCommand = new SqlCommand(); myCommand.Connection = myConnection; myCommand.Transaction = myTrans; 创建完事务之后,我们就开始执行相应的SQL数据库操作 try { //插入两条ID相同的数据,必定会引发异常,以此来试验事务的用法 command.CommandText = "insert into student2(Id,Name) values (100,‘数据99‘)"; command.ExecuteNonQuery(); command.CommandText = "insert into student2(Id,‘数据100‘)"; command.ExecuteNonQuery(); myTrans.Commit(); //事务提交 } catch (Exception ex) { myTrans.Rollback(); //遇到错误,回滚 } 至此,一个简单的c#事务就已经完成了。 备注:数据库表:student2,只有两个字段:Id和Name (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |