在C#中處理SQL Server事務,你可以使用ADO.NET庫中的SqlConnection
、SqlCommand
和SqlTransaction
類
using System;
using System.Data;
using System.Data.SqlClient;
public void ExecuteSqlTransaction()
{
// 定義連接字符串
string connectionString = "your_connection_string";
// 創建一個SqlConnection對象
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 打開連接
connection.Open();
// 創建一個SqlTransaction對象
SqlTransaction transaction = null;
try
{
// 開始一個新的事務
transaction = connection.BeginTransaction();
// 創建一個SqlCommand對象
SqlCommand command = new SqlCommand();
command.Connection = connection;
command.Transaction = transaction;
// 定義SQL語句
string sql1 = "INSERT INTO Table1 (Column1, Column2) VALUES ('Value1', 'Value2')";
string sql2 = "UPDATE Table2 SET Column1 = 'Value3' WHERE Column2 = 'Value4'";
// 執行第一條SQL語句
command.CommandText = sql1;
command.ExecuteNonQuery();
// 執行第二條SQL語句
command.CommandText = sql2;
command.ExecuteNonQuery();
// 提交事務
transaction.Commit();
}
catch (Exception ex)
{
// 發生錯誤時回滾事務
if (transaction != null)
{
transaction.Rollback();
}
// 處理異常
Console.WriteLine("Error: " + ex.Message);
}
}
}
ExecuteSqlTransaction()
方法執行事務:public static void Main(string[] args)
{
ExecuteSqlTransaction();
}
這個示例展示了如何在C#中使用ADO.NET庫處理SQL Server事務。請確保將your_connection_string
替換為你自己的數據庫連接字符串。