是的,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()
方法回滚事务。