C#事務處理(Execute Transaction)實例解析
更新時間:2014年08月04日 11:22:36 投稿:shichen2014
這篇文章主要介紹了C#事務處理(Execute Transaction)實例解析,對于理解和學習事務處理有一定的幫助,需要的朋友可以參考下
本文所述為C#事務處理(Execute Transaction)的一個實例,包含了創(chuàng)建SqlTransaction 對象并用SqlConnection對象的BeginTransaction()方法開始事務,創(chuàng)建保存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();
// 創(chuàng)建SqlTransaction 對象并用SqlConnection對象的
// BeginTransaction()方法開始事務
SqlTransaction mySqlTransaction =
mySqlConnection.BeginTransaction();
// 創(chuàng)建保存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'" +
")";
// 執(zhí)行第一個INSERT語句
Console.WriteLine("Running first INSERT statement");
mySqlCommand.ExecuteNonQuery();
// 將SqlCommand對象的CommandText屬性設置為第二個INSERT語句,
// 第二個INSERT語句在Orders表中增加一行
mySqlCommand.CommandText =
"INSERT INTO Orders (" +
" CustomerID" +
") VALUES (" +
" 'Micro'" +
")";
// 執(zhí)行第二個INSERT語句
Console.WriteLine("Running second INSERT statement");
mySqlCommand.ExecuteNonQuery();
// 提交事務,使INSERT語句增加的兩行在數據庫中保存起來
Console.WriteLine("Committing transaction");
mySqlTransaction.Commit();
mySqlConnection.Close();
}
}
}
相關文章
DevExpress實現根據行,列索引來獲取RepositoryItem的方法
這篇文章主要介紹了DevExpress實現根據行,列索引來獲取RepositoryItem的方法,需要的朋友可以參考下2014-08-08

