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
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
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);
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