我已经在我的wpf c#应用程序中引用了this来执行回滚操作。我尝试的代码如下:
using (OdbcConnection connection = new OdbcConnection("connectionString"))
{
OdbcCommand command = new OdbcCommand();
OdbcTransaction transaction = null;
command.Connection = connection;
try
{
connection.Open();
transaction = connection.BeginTransaction();
command.Connection = connection;
command.Transaction = transaction;
command.CommandText = "INSERT INTO TableA (A, B, C) VALUES (10,10,10)";
command.ExecuteNonQuery();
command.CommandText = "NSERT INTO TableB (D,E,F) VALUES (20,20,20)";
command.ExecuteNonQuery();
transaction.Commit();
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
try
{
transaction.Rollback();
}
catch
{
}
}
故意第二次查询错误。我的意图是当我在调用transaction.Rollback()时进入catch块时,由于执行了Rollback被调用,因此在TableA中执行第一个查询时添加的值没有反映出来。但是,这不是回滚的值并且存在于TableA中。我在网上搜索了各种资源但没有运气。我不能使用SqlConnection而不是OdbcConnection我的应用程序不支持。是否有任何关于这个或替代方法的工作可以实现我的想法。请帮帮我。