代码改变世界

.net2.0下的事务处理小例子

2009-07-15 08:43  Jeffery Tao  阅读(206)  评论(0)    收藏  举报
.net2.0上引入了轻量级的事务管理器,即:System.Transactions.TransactionManager.
在这里举个例如【2.0下事务的使用】,演示如何使用:

在System.Transactions命名空间下:使用CommitableTransaction类

 

using System.Transactions;

private void myTransaction()
    {
        CommittableTransaction ts = new CommittableTransaction();
        using (SqlConnection conn = new SqlConnection("myConn"))//这是第一种实现方法
        {
            conn.Open();
            conn.EnlistTransaction(ts);
            try
            {
                //Do transaction work

                //Commit the Transaction
                ts.Commit();
            }
            catch (Exception ex)
            {
                ts.Rollback(ex);
            }
            finally
            {
                ts.Dispose();
            }
        }
        using (TransactionScope scope=new TransactionScope())//这是第二种实现方法
        {
            
                //Do transaction work

                //Commit the Transaction
            scope.Complete();
        }