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