是的,C#中的OleDbConnection对象支持事务处理。您可以使用OleDbTransaction类来管理事务。以下是一个简单的事务处理示例:
using System;
using System.Data.OleDb;
class Program
{
static void Main()
{
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=your_database.mdb";
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
// 开始事务
OleDbTransaction transaction = connection.BeginTransaction();
try
{
// 执行SQL语句
OleDbCommand command1 = new OleDbCommand("INSERT INTO Table1 (Column1) VALUES ('Value1')", connection);
command1.Transaction = transaction;
command1.ExecuteNonQuery();
OleDbCommand command2 = new OleDbCommand("UPDATE Table2 SET Column1 = 'Value2' WHERE Column2 = 1", connection);
command2.Transaction = transaction;
command2.ExecuteNonQuery();
// 提交事务
transaction.Commit();
Console.WriteLine("Transaction committed successfully.");
}
catch (Exception ex)
{
// 如果发生错误,回滚事务
transaction.Rollback();
Console.WriteLine("Transaction rolled back due to an error: " + ex.Message);
}
}
}
}
在这个示例中,我们首先创建一个OleDbConnection对象并打开它。然后,我们使用BeginTransaction()
方法开始一个新的事务。接下来,我们执行两个SQL语句,并将事务分配给每个命令。如果所有语句都成功执行,我们使用Commit()
方法提交事务。如果在执行过程中发生任何错误,我们使用Rollback()
方法回滚事务。