我最近一直在玩sqlite4java库。 我想我已经弄明白了。困扰我的唯一想法是我不知道如何使用这个库关闭自动提交。有人可以帮忙吗? 一个代码示例将非常感激。
提前致谢, 硼
答案 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
语句禁用自动提交。此