更正一下:声明部分是                  OleDbTransaction tran;
OleDbCommand comA;
OleDbCommand comB;
OleDbConnection con;

解决方案 »

  1.   

    comA.Transaction=tran.Begin();改为
    comA.Transaction=tran;
      

  2.   

    To  jimh(jimmy):
    tran.Begin();的意思是启用tran的嵌套事务并与comA相关联。
    不是单单用一个事务。
      

  3.   

    你可以建立3个事务:TestC 中事务嵌套 TestA & TestB 中的2个事务,而且TestA & TestB 相互独立。其实你的目的就是希望这2次访问数据作为一个整体事务来对待,你可以只连接数据库一次,要么用存储过程,用SQL语句也可以的。