将 tran.Begin(); 换成 conn.BeginTransaction(); 看看

解决方案 »

  1.   

    IDbConnection myCon = helper.GetConnection(conn.ConnectionString);//new a conn
    myCon.Open();
    IDbTransaction myTran = myCon.BeginTransaction();
    IDbCommand myCmd = myCon.CreateCommand();
    myCmd.Transaction = myTran;
    try
    {
        //Execute sql ...
        myTran.Commit();
    }
    catch(Exception e1)
    {
    try
    {
    myTran.Rollback();
    }
    catch(Exception ex)
    {
    throw ex;
    }
    throw e1;
    }
    finally
    {
    myCon.Close();}
      

  2.   

    To:fking22(炽天使)
    异常详细信息: System.InvalidOperationException: OleDbConnection 不支持并行事务
      

  3.   

    To:jiezhi(風依舊)
    你的方案是单一事务,我需要的是嵌套事务