PreparedStatement是否只能在数据库中进行临时更改,或者我可以将其永久更改



我对整个"同时使用Java和SQL"的事情非常陌生,我似乎找不到解决这个问题的方法。我通过Workbench在服务器上创建了一个数据库,现在我正在Netbeans中创建一个使用它的简单应用程序。我试图创建PreparedStatement,这将改变我的数据库,但只是发现,任何变化只持续只要我保持我的应用程序运行。我是这样做的:

PreparedStatement change2 = connect.prepareStatement("UPDATE database.table1 (column1) VALUES(?) WHERE ID = ?");
change2.setInt(1, int2);
change2.setInt(2, int3);
change2.executeUpdate();

很抱歉我命名了所有东西,但我是用我自己的语言做的,我想改变它,这样就更容易发现任何错误+名字在这里并不真正相关,因为我知道它是有效的,我只是想让它是永久的…

所以这是一个bug还是什么,或者我只是忘记了什么让它持续下去?谢谢你的帮助:)

请看下面的例子:http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html。

如果您将AutoCommit设置为false,如上面链接中的"con.setAutoCommit(false);",则更改将不会提交到数据库。您必须像示例中那样显式地调用"con.commit();"

如果您在独立模式下使用Java,则可能在任何地方都有连接对象。必须使用

提交更改
connection.commit();
http://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html

相关内容

  • 没有找到相关文章