开发者

How to disable autocommit in sqlite4java?

开发者 https://www.devze.com 2023-02-10 17:14 出处:网络
I have recently been playing with the sqlite4java library. I think I have it pretty much figured out. The only think that bothers me is that开发者_运维问答 I do not know how to switch off the auto-com

I have recently been playing with the sqlite4java library. I think I have it pretty much figured out. The only think that bothers me is that开发者_运维问答 I do not know how to switch off the auto-commit using this library. Can anyone please help? A code example would be much appreciated.

Thanks in advance, Boro


Jefromi and king_nak are correct - you just need to issue SQL statements that begin and end a transaction.

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


Edit: I confused sqlite4java with the sqliteJDBC package. So the below code will not help. I'm keeping it for reference nevertheless.

After you obtained the connection, just call setAutoCommit(false)

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


Referring to SQLite's C interface description:

The sqlite3_get_autocommit() interface returns non-zero or zero if the given database connection is or is not in autocommit mode, respectively. Autocommit mode is on by default. Autocommit mode is disabled by a BEGIN statement. Autocommit mode is re-enabled by a COMMIT or ROLLBACK.

So you disable auto-commit by a BEGIN TRANSACTION statement. No separate API function is present for this

0

精彩评论

暂无评论...
验证码 换一张
取 消