事务

事务

事务是一种机制,它确保多个SQL语句被当作单个工作单元来处理,其作用是:

1,一致性:同时进行的查询和更新彼此不会发生冲突,其他  用户不会看到发生了变化但尚未提交的数据。

2,可恢复性:一旦系统故障,数据库会自动地完全恢复未完  成的事务。 

 

一.sql中的事务:他把所有包含的操作命令作为一个整体一起向系统提交或撤消,这一组数据库操作命令要么都执行,要么都不执行

开始事物:BEGIN TRANSACTION  提交事物:COMMIT TRANSACTION  回滚事务:ROLLBACK TRANSACTION

@@ERROR,获得错误,如果有错则,else则。。。。

 

二.利用C#编写的事务

例子:

using System.Data;

using System.Data.SqlClient;

 

 

public partial class _Default : System.Web.UI.Page

{

    public string sqlconn = System.Configuration.ConfigurationManager.ConnectionStrings["SQLCONN"].ToString();

    protected void Page_Load(object sender, EventArgs e)

    {

    }

    private void btn()

    {

        SqlConnection conn = new SqlConnection(sqlconn);

        SqlCommand cmd = new SqlCommand();

        SqlTransaction Transaction = null;

        try

        {

            //打开数据库连接conn.Open();

            //开启事务Transaction=conn.BeginTransactio();

            cmd.Transaction = Transaction;

            cmd.Connection = conn;

            string sql = "insert into Students values('杨飞宰',D','N2d08007')";

            cmd.CommandType = CommandType.Text;

            cmd.CommandText = sql;

            cmd.ExecuteNonQuery();

            string sql2 = "insert into Stud_Subjects values('C#','98','1')";

            cmd.CommandType = CommandType.Text;

            cmd.CommandText = sql2;

            cmd.ExecuteNonQuery();

            //提交事务

            Transaction.Commit();

            Response.Write("添加成功!");

        }

        catch

        {

            //事务回滚

            Transaction.Rollback();

            Response.Write("添加失败!");

        }

        finally

        {

            //释放事务

            Transaction.Dispose();

            //关闭数据库连接

            conn.Close();

        }

    }

}

posted @ 2013-03-12 16:16  namehwh  阅读(190)  评论(0编辑  收藏  举报