在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
替换为你自己的数据库连接字符串。