PreparedStatement是否仅在数据库中进行临时更改,还是可以将其永久更改?

时间:2015-07-30 22:29:24

标签: java sql-server netbeans prepared-statement temporary

我对这个整体非常陌生,同时使用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();

很抱歉我的名字是如何命名的,但是我用我自己的语言来做这件事我想改变它以便更容易发现任何错误+名字在这里真的不相关因为我知道它的工作原理我只是希望它是永久的..

这是一个错误或什么的,或者我只是忘了让它成为最后的东西? 感谢提前帮助:)

2 个答案:

答案 0 :(得分:2)

请在此处查看示例:http://docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html

如果您将“AutoCommit”设置为false,即“con.setAutoCommit(false);”如上面的链接,更改将不会提交到数据库。你必须明确地调用“con.commit();”正如在例子中所做的那样。

答案 1 :(得分:1)

如果您在独立模式下使用Java,可能会在任何地方都有一个Connection对象。您必须使用

提交更改
connection.commit();

http://docs.oracle.com/javase/7/docs/api/java/sql/Connection.html