溫馨提示×

C#中如何處理SQL Server事務(wù)

c#
小樊
83
2024-09-06 04:47:01
欄目: 云計算

在C#中處理SQL Server事務(wù),你可以使用ADO.NET庫中的SqlConnectionSqlCommandSqlTransaction

  1. 首先,引入必要的命名空間:
using System;
using System.Data;
using System.Data.SqlClient;
  1. 創(chuàng)建一個方法來執(zhí)行事務(wù):
public void ExecuteSqlTransaction()
{
    // 定義連接字符串
    string connectionString = "your_connection_string";

    // 創(chuàng)建一個SqlConnection對象
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        // 打開連接
        connection.Open();

        // 創(chuàng)建一個SqlTransaction對象
        SqlTransaction transaction = null;

        try
        {
            // 開始一個新的事務(wù)
            transaction = connection.BeginTransaction();

            // 創(chuàng)建一個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'";

            // 執(zhí)行第一條SQL語句
            command.CommandText = sql1;
            command.ExecuteNonQuery();

            // 執(zhí)行第二條SQL語句
            command.CommandText = sql2;
            command.ExecuteNonQuery();

            // 提交事務(wù)
            transaction.Commit();
        }
        catch (Exception ex)
        {
            // 發(fā)生錯誤時回滾事務(wù)
            if (transaction != null)
            {
                transaction.Rollback();
            }

            // 處理異常
            Console.WriteLine("Error: " + ex.Message);
        }
    }
}
  1. 調(diào)用ExecuteSqlTransaction()方法執(zhí)行事務(wù):
public static void Main(string[] args)
{
    ExecuteSqlTransaction();
}

這個示例展示了如何在C#中使用ADO.NET庫處理SQL Server事務(wù)。請確保將your_connection_string替換為你自己的數(shù)據(jù)庫連接字符串。

0