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()方法来回滚执行前的状态。