如何在sqlite4java中禁用自动提交?
我最近一直在玩sqlite4java库。 我想我已经弄明白了。 困扰我的唯一想法是我不知道如何使用此库关闭自动提交。 有人可以帮忙吗? 一个代码示例将非常感激。
在此先感谢,博罗
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
编辑 :我把sqlite4java与sqliteJDBC包混淆了。 所以下面的代码无济于事。 不过我还是要保留它作为参考。
获得连接后,只需调用setAutoCommit(false)
java.sql.Connection con = DriverManager.getConnection(“jdbc:sqlite:/ your / db / file”,“user”,“password”); con.setAutoCommit(假);
参考SQLite的C接口描述 :
如果给定的数据库连接分别处于或不处于自动提交模式,则sqlite3_get_autocommit()接口将返回非零或零。 默认情况下,自动提交模式处于启用状态。 BEGIN语句禁用自动提交模式。 通过COMMIT或ROLLBACK重新启用自动提交模式。
因此,您可以通过BEGIN TRANSACTION
语句禁用自动提交。 没有单独的API函数