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();
}
}
}