我也遇到过类似的情况,这可能是access的问题。其原因大概是当你进行摄制的时候,con已经保持了某些状态,比如它已经被statement或是resultset邦定。一个比较好的办法是显式的关闭这些statement和resultset。
或者在一开始建立连接的时候就进行设置。

解决方案 »

  1.   

    因为access数据库不支持commit和rollback。
    每次操作的结果都直接作用到实际数据,相当于autocommit的效果。
    所以你当然不能设成非autocommit模式。
    用oracle或sqlserver才可以设置此选项!
      

  2.   

    我在一建立连接就设置就没有这些问题了,可是我得程序中只建立了一个连接,而好几个过程都要用到数据库操作,难道每次数据库操作都要commit(),那如果有好多数据库操作,但很大部分不需要事务处理,该怎么办?
      

  3.   

    你先看看是不是有些地方的例如statement或者resultset没有关闭,在这种情况下是有可能出错的。