C#事務處置(Execute Transaction)實例解析。本站提示廣大學習愛好者:(C#事務處置(Execute Transaction)實例解析)文章只能為提供參考,不一定能成為您想要的結果。以下是C#事務處置(Execute Transaction)實例解析正文
本文所述為C#事務處置(Execute Transaction)的一個實例,包括了創立SqlTransaction 對象並用SqlConnection對象的BeginTransaction()辦法開端事務,創立保留SQL語句,將SqlCommand對象的CommandText屬性設置為第一個INSERT語句,第一個INSERT語句在Customers表中增長一行,提交事務,使INSERT語句增長的兩行在數據庫中保留起來。
詳細的實例代碼以下:
using System; using System.Data; using System.Data.SqlClient; namespace ExecuteTransaction { /// <summary> /// ExecuteTransaction 的摘要解釋。 /// </summary> public class ExecuteTransaction { public static void Main() { SqlConnection mySqlConnection = new SqlConnection( "server=localhost;database=Northwind;uid=sa;pwd=sa" ); mySqlConnection.Open(); // 創立SqlTransaction 對象並用SqlConnection對象的 // BeginTransaction()辦法開端事務 SqlTransaction mySqlTransaction = mySqlConnection.BeginTransaction(); // 創立保留SQL語句 SqlCommand mySqlCommand = mySqlConnection.CreateCommand(); // 將Transaction屬性設置為下面所生成的SqlTransaction對象 mySqlCommand.Transaction = mySqlTransaction; // 將SqlCommand對象的CommandText屬性設置為第一個INSERT語句, // 第一個INSERT語句在Customers表中增長一行 mySqlCommand.CommandText = "INSERT INTO Customers (" + " CustomerID, CompanyName" + ") VALUES (" + " 'Micro', 'Microsoft Corporation'" + ")"; // 履行第一個INSERT語句 Console.WriteLine("Running first INSERT statement"); mySqlCommand.ExecuteNonQuery(); // 將SqlCommand對象的CommandText屬性設置為第二個INSERT語句, // 第二個INSERT語句在Orders表中增長一行 mySqlCommand.CommandText = "INSERT INTO Orders (" + " CustomerID" + ") VALUES (" + " 'Micro'" + ")"; // 履行第二個INSERT語句 Console.WriteLine("Running second INSERT statement"); mySqlCommand.ExecuteNonQuery(); // 提交事務,使INSERT語句增長的兩行在數據庫中保留起來 Console.WriteLine("Committing transaction"); mySqlTransaction.Commit(); mySqlConnection.Close(); } } }