回答

收藏

jdbc autocommit(false)不起作用

技术问答 技术问答 240 人阅读 | 0 人回复 | 2023-09-12

我不知道java.sql.Connection.commit()。
8 L6 y: {, X7 J+ V" S6 H我正在使用Derby(Java DB)作为数据库服务器。' C7 G& f3 S( @0 T
当我执行 setAutoCommit(false)时
5 c* t2 ~; a; k5 v% U4 i,希望我的查询在显式调用commit()方法以前不起作用。但事实上,即使我不调用它commit(),它仍然会提交。当我在表上调用时select" s9 N+ q# H6 G! g- {0 a
*在打印内容时,即使我没有明确提交查询,我也可以看到添加了线。
3 ?: V+ w, D; `0 m1 R7 k8 |有人能给我一些解释吗?
" X! Z( z; c. K( Z: A6 \+ i! `0 k                con.setAutoCommit(false);    PreparedStatement updateHair = null;    PreparedStatement addMan = null;    try             String updateString =                    "update PERSONNE "                      "set haircolor = 'RED' where haircolor = 'SHAVE'";         String updateStatement =                    "insert into personne values "                      "(3,'MICHEL','SHAVE')";         addMan = con.prepareStatement(updateStatement);         addMan.executeUpdate();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;updateHair = con.prepareStatement(updateString);         updateHair.executeUpdate();      catch (SQLException e)        TODO Auto-generated catch block        e.printStackTrace();                     * C, g. h" d! z) g4 O
    解决方案:
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则