c#访问数据库--事务

  1 我们在软件开发中,时常会遇到这样的问题,就是一个操作会同时操作多个表或多个数据库。在处理这样的事件的时候,如果被操作表中有一个表操作失败,那么在没有使用事务的时候就会出现数据不完整,数据残缺。事务的使用就可以解决这样的问题。
  2 
  3        事务有四个特性,
  4 第一原子性,事务具有独立的不能被拆分的,不能只做部分,事务的性质是要么全做,要么都不做。
  5 
  6                                        
  7 第二统一性,在事务执行之前和事务执行之后的数据是一致。
  8 
  9                                        
 10 第三隔离性,事务是独立的,开发者不能查看中间状态。对同一张表同一时间最多只能有一个事务处理。
 11 
 12                                        
 13 第四永久性,事务的发生对数据库的影响是永久的。
 14 
 15 在C#中第一种,在程序中添加事务。
链接内事务:在链接打开后,使用事务控制多条语句的执行。
1.创建事务对象。
SqlTransanction trans = conn.BeginTransaction(); //注意必须是链接打开后编写
2.把事务对象挂到命令对象上,让命令执行带有事务的功能。
cmd.Transaction = trans;
3.按照之前所讲得执行命令操作数据库
a.成功后调用事务对象的Commit()方法来提交执行的结果。
b.失败后调用事务对象的Rollback()方法来回滚执行前的状态。



原文地址:https://www.cnblogs.com/lovesy2413/p/4487960.html