如何在sqlite4java中禁用自动提交?

时间:2011-02-14 23:42:18

标签: java sqlite

我最近一直在玩sqlite4java库。 我想我已经弄明白了。困扰我的唯一想法是我不知道如何使用这个库关闭自动提交。有人可以帮忙吗? 一个代码示例将非常感激。

提前致谢, 硼

3 个答案:

答案 0 :(得分:5)

Jefromi和king_nak是正确的 - 你只需要发出开始和结束交易的SQL语句。

SQLiteConnection con = new SQLiteConnection();
con.exec("BEGIN");
// do transaction work - auto-commit is disabled
con.exec("COMMIT");
// auto-commit is enabled again

答案 1 :(得分:2)

编辑:我将sqlite4java与sqliteJDBC包混淆了。所以下面的代码无济于事。不过我还是要保留它作为参考。

获得连接后,只需致电setAutoCommit(false)

java.sql.Connection con = DriverManager.getConnection("jdbc:sqlite:/your/db/file", "user", "password");
con.setAutoCommit(false);

答案 2 :(得分:1)

参考SQLite's C interface description

  

如果给定的数据库连接分别处于或不处于自动提交模式,则sqlite3_get_autocommit()接口将返回非零或零。默认情况下,自动提交模式处于启用状态。 BEGIN语句禁用自动提交模式。通过COMMIT或ROLLBACK重新启用自动提交模式。

所以你通过BEGIN TRANSACTION语句禁用自动提交。此

不存在单独的API函数