今天整理硬盘,发现了以前的文档,呵呵,正好,写在这里,还可以免费保存下来,省的我哪天突然就弄丢了,这破记性啊。

事务操作机制:

1) SqlTransaction

A> 由数据连接启动事务

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

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

2) 事务的隔离机制:

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

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

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

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

//string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

//SqlConnection conn = new SqlConnection(connStr);

//conn.Open();

////创建事务

//SqlTransaction tran = conn.BeginTransaction();

////关于事务的操作:

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

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

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

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

//conn.Close();

//一个事务操作的例子:

        string connStr = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;

        SqlConnection conn = new SqlConnection(connStr);

        conn.Open();

        SqlTransaction tran = conn.BeginTransaction(IsolationLevel.ReadCommitted);

        string sql = "update students set sal = 9999 where sno = 2007089";

        SqlCommand comm = new SqlCommand(sql,conn,tran);

        if (comm.ExecuteNonQuery() > 0)

        {

            Response.Write("成功!");

            tran.Commit();

        }

        else {

            Response.Write("失败!");

            tran.Rollback();

        }

        conn.Close();

这是刚学.NET的时候整理的。

posted on 2008-10-23 11:15  陈漠  阅读(888)  评论(0编辑  收藏  举报