程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中跨數據庫增刪改的事務控制

C#中跨數據庫增刪改的事務控制

編輯:C#入門知識

在程序的開發過程中,對數據庫的增刪改通常要用到事務,用來實現的全部更新和全部回滾。單數據庫還比較好做,如果遇到同時操作多個數據庫增刪改,可以用下面的方法

 一。TransactionScope

     TransactionScope類是framework2.0 新增的一個類,在System.Transactions命名空間中,使用時必須先添加System.Transactions引用;另外還要在windows控制面版-->管理工具-->服務-->Distributed Transaction Coordinator-->屬性-->啟動,啟動這個服務.示例代碼如下:

 

\\Code
  try
            {
                using (TransactionScope scope = new TransactionScope())
                {
                    //更新northwind數據庫的Employees表
                    using (SqlConnection conOne = new SqlConnection("server=.;uid=sa;pwd=123;database=northwind"))
                    {
                        conOne.Open();

                        SqlCommand command = new SqlCommand("update Employees set lastname=chen where employeeid=1", conOne);
                        int i = command.ExecuteNonQuery();
                    }

                    //更新pubs數據庫的jobs表
                    using (SqlConnection conTwo = new SqlConnection("server=.;uid=sa;pwd=123;database=pubs"))
                    {
                        conTwo.Open();
                        SqlCommand command = new SqlCommand("update jobs set job_desc=chen where job_id=1", conTwo);
                        int i = command.ExecuteNonQuery();
                    }

                    scope.Complete();  //提交事物
                }
            }
            catch (Exception ex)       //發生異常後自動回滾
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved