.Net事务基础知识讲解

ACID 属性

代表了不可分性、一致性、隔离性和持续性。

不可分性(原子性):在一个操作中涉及两个或两个以上独立的信息,这些信息要么全部提交,要么一个也不提交。

一致性:操作要么创建新的有效的数据状态,要么(如果发生任何错误的话)将所有数据返回到初始状态。

隔离性:操作在没有提交并不与别的任何操作发生任何关系。

持续性:即使发生错误重新启动,保存过的已经提交的数据在正确状态下仍然有效。


相同连接中数据库事务实现方式:数据库实现与Ado.Net实现


实例一:数据库中事务实现方式

create database DataBaseExample

go

use DataBaseExample

go

create table Table1

(

 test varchar(20)

)

go

create table Table2

(

 test varchar(20)

)


create proc TransExample

as

begin transaction

declare @error1 int,@error2 int

insert into table1 values('test1Table1')

select @error1=@@error

insert into table2 values('test2Table1')

select @error2=@@error

if(@error1=0 and @error2=0)

commit transaction

else

rollback transaction


execute TransExample


select * from Table1,Table2


实例二:Ado.Net中事务实现方式

using (SqlConnection conn = new SqlConnection("server=.;database=databaseexample;uid=sa;pwd=sa"))

        {

           conn.Open();

           SqlTransaction trans = conn.BeginTransaction();

           try

           {


               using (SqlCommand cmd = new SqlCommand())

               {

                  cmd.Connection=conn;

                  cmd.Transaction = trans;

                  cmd.CommandText = "insert into table1 values('test1Table1')";

                  cmd.ExecuteNonQuery();

                  cmd.CommandText = "insert into table2 values('test2Table1')";

                  cmd.ExecuteNonQuery();

                  trans.Commit();

               }

           }

           catch

           {

               trans.Rollback();

           }

        }

转载于:https://www.cnblogs.com/shengtianlong/archive/2010/10/09/1846283.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值