我感觉C#中的Transaction和JAVA里的Transaction大同小异,但我觉得Transaction只有经过提交才可以获得结果。
事实上在ADO.Net通过Transaction对象来支持事务,Transaction对象是在打开的连接上创建的。当事务被挂起时,那些对连接执行的命令必须在事务中进行登记,方法是,将一个对Transaction对象的引用分配给他的Transaction属性。当事务被挂起时,命令无法在Transaction对象之外对连接执行。
如果事务已经提交,构成事务的所有命令将会永久地写入数据源。如果事务被返回,那么所有的命令将从数据源取消。
给你举个例子吧
private void SomeFunction()
{
    System.Data.OleDb.OleDbTrrnsaction TrnNew;
    Connection1.Open();
    TrnNew=Connection1.BeginTransaction();
    DataAdapter1.InsertCommand.Transaction=TrnNew;
    try
    {
         DataAdapter.Update(.....);
         TrnNew.Commit();
     }
     Catch(System.Data.OleDb.OleDbException err)
     {
         TrnNew.RollBack();
         MessageBox.Show(err.Message);
      }
     finally
     {
          Connection1.Close();
     }
}
这就是Transaction的一般用法
有问题可以多多交流
我的QQ是214295933