SqlTransaction作用及如何使用(超详细)

1) SqlTransaction

A, 由数据连接启动事务

B,由事务对象创建保存点,回滚或者提交.

C, 事务回滚或提交后代表事务结束!

2) 事务的隔离机制:

A, IsolationLevel.ReadCommitted SQLSERVER的默认机制. 这种机制可以确保只有第一个事务完成后,第二个事务才会开始.

B, IsolationLevel.ReadUncommitted 即使第一事务没有完成,也允许另一个事务从数据库中读取数据.

C, IsolationLevel.RepeatableRead 是ReadCommitted的一种扩展. 如果在事务处理中使用了相同的语句,无论是否存在其他潜在的数据库更新,总是可以返回相同的数据.

D, IsolationLevel.Serializable 最高级的事务处理机制,不建议使用! 对数据可以进行串行化访问.

使用步骤

创建事务 SqlTransaction tran = conn.BeginTransaction();

关于事务的操作:

tran.Commit();//提交事务;

tran.Rollback();//回滚事务;

tran.Save(“保存点”);//创建保存点;

tran.Rollback(“保存点”);//回滚到某个保存点!

实例

//一个事务操作的例子:
//连接字符串
        string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
        //创建连接对象
        SqlConnection conn = new SqlConnection(connStr);
        //打开连接
        conn.Open();
        //开启事务
        SqlTransaction tran = conn.BeginTransaction(IsolationLevel.ReadCommitted);
        //T—SQL 语句
        string sql = "update students set sal = 9999 where sno = 2007089";
        //创建Commond对象
        SqlCommand comm = new SqlCommand(sql,conn,tran);
        if (comm.ExecuteNonQuery() > 0)
        {
            Response.Write("成功!");
            //提交事务
            tran.Commit();
        }
        else {
            Response.Write("失败!");
            //回滚事务
            tran.Rollback();
        }
        //关闭连接
        conn.Close();
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值