C#事務(wù)處理(Execute Transaction)實例解析
本文所述為C#事務(wù)處理(Execute Transaction)的一個實例,包含了創(chuàng)建SqlTransaction 對象并用SqlConnection對象的BeginTransaction()方法開始事務(wù),創(chuàng)建保存SQL語句,將SqlCommand對象的CommandText屬性設(shè)置為第一個INSERT語句,第一個INSERT語句在Customers表中增加一行,提交事務(wù),使INSERT語句增加的兩行在數(shù)據(jù)庫中保存起來。
具體的實例代碼如下:
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()方法開始事務(wù)
SqlTransaction mySqlTransaction =
mySqlConnection.BeginTransaction();
// 創(chuàng)建保存SQL語句
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
// 將Transaction屬性設(shè)置為上面所生成的SqlTransaction對象
mySqlCommand.Transaction = mySqlTransaction;
// 將SqlCommand對象的CommandText屬性設(shè)置為第一個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屬性設(shè)置為第二個INSERT語句,
// 第二個INSERT語句在Orders表中增加一行
mySqlCommand.CommandText =
"INSERT INTO Orders (" +
" CustomerID" +
") VALUES (" +
" 'Micro'" +
")";
// 執(zhí)行第二個INSERT語句
Console.WriteLine("Running second INSERT statement");
mySqlCommand.ExecuteNonQuery();
// 提交事務(wù),使INSERT語句增加的兩行在數(shù)據(jù)庫中保存起來
Console.WriteLine("Committing transaction");
mySqlTransaction.Commit();
mySqlConnection.Close();
}
}
}
相關(guān)文章
深入理解c# checked unchecked 關(guān)鍵字
本篇文章是對c#中的checked unchecked 關(guān)鍵字進行了詳細的分析介紹,需要的朋友參考下2013-05-05
C#使用RabbitMQ發(fā)送和接收消息工具類的實現(xiàn)
RabbitMQ是一個消息的代理器,用于接收和發(fā)送消息,本文主要介紹了C#使用RabbitMQ發(fā)送和接收消息工具類的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-12-12
DevExpress實現(xiàn)根據(jù)行,列索引來獲取RepositoryItem的方法
這篇文章主要介紹了DevExpress實現(xiàn)根據(jù)行,列索引來獲取RepositoryItem的方法,需要的朋友可以參考下2014-08-08

