温馨提示×

C#中如何处理SQL Server事务

c#
小樊
116
2024-09-06 04:47:01
栏目: 云计算

在C#中处理SQL Server事务,你可以使用ADO.NET库中的SqlConnectionSqlCommandSqlTransaction

  1. 首先,引入必要的命名空间:
using System;
using System.Data;
using System.Data.SqlClient;
  1. 创建一个方法来执行事务:
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);
        }
    }
}
  1. 调用ExecuteSqlTransaction()方法执行事务:
public static void Main(string[] args)
{
    ExecuteSqlTransaction();
}

这个示例展示了如何在C#中使用ADO.NET库处理SQL Server事务。请确保将your_connection_string替换为你自己的数据库连接字符串。

0