ASP.NET从入门到精通笔记第9章-使用Command对象实现数据库的事务处理

事务是一组由相关任务组成的单元,该单元中的任务要么全部成功,要么全部失败,事务最终的执行结果只能是两种状态,即提交或终止

事务某一步失败了,会将事务范围内的数据更改恢复到事务执行前设置的特定点.

示例:

前提是创建一个数据库Music,表名为catalog,两列分别为id int , name varchar(50)

1.添加default页面,在页面中添加一个GridView,绑定到你的数据库

添加两个TextBox,ID分别为TextBox1和TextBox2

default.aspx.cs文件中添加命名空间

using System.Data.SqlClient;
using System.Configuration;
using System.Data;

web.config中,定义连接字串

<appSettings>
<add key="ConnectString" value="server=localhost;database=Music;UId=sa;password=1"/>
</appSettings>

定义GetConnection方法

public SqlConnection GetConnection()
    {
        string MyStr = ConfigurationManager.AppSettings["ConnectString"].ToString();
        SqlConnection MyCon = new SqlConnection(MyStr);
        return MyCon;
    }


添加一个Button,在Click事件中添加如下代码

       

SqlConnection MyCon = GetConnection();
        MyCon.Open();
        string MyStr = "insert into catalog values('"+this.TextBox1.Text.Trim()+"','"+this.TextBox2.Text.Trim()+"')";
        SqlCommand MyCmd = new SqlCommand(MyStr, MyCon);
        SqlTransaction SqlTrans = MyCon.BeginTransaction();
        MyCmd.Transaction = SqlTrans;//设置回滚的点
        try
        {
            MyCmd.ExecuteNonQuery();
            SqlTrans.Commit();//提交
            MyCon.Close();
            this.DataBind();
        }
        catch
        { 
            Response.Write("<script>alert('插入失败,执行事务被回滚')</script>");
            SqlTrans.Rollback();//回滚
        }




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值