Как отключить автокоммит в sqlite4java? - PullRequest
4 голосов
/ 15 февраля 2011

Я недавно играл с библиотекой sqlite4java.Я думаю, что я понял это в значительной степени.Единственное, что меня беспокоит, так это то, что я не знаю, как отключить автоматическую фиксацию с помощью этой библиотеки.Может кто-нибудь, пожалуйста, помогите?Пример кода будет высоко ценится.

Заранее спасибо, Боро

Ответы [ 3 ]

5 голосов
/ 15 февраля 2011

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
2 голосов
/ 15 февраля 2011

Редактировать : Я перепутал sqlite4java с пакетом sqliteJDBC. Поэтому приведенный ниже код не поможет. Тем не менее, я держу его для справки.

После того, как вы получили соединение, просто позвоните setAutoCommit(false)

java.sql.Connection con = DriverManager.getConnection("jdbc:sqlite:/your/db/file", "user", "password");
con.setAutoCommit(false);
1 голос
/ 15 февраля 2011

Ссылаясь на Описание интерфейса SQLite C :

Интерфейс sqlite3_get_autocommit () возвращает ненулевое или нулевое значение, если данное соединение с базой данных находится или не находится в режиме автоматической фиксации, соответственно,Режим автоматической фиксации включен по умолчанию.Режим автоматической фиксации отключен оператором BEGIN.Режим автоматической фиксации включается с помощью COMMIT или ROLLBACK.

Таким образом, вы отключаете автоматическую фиксацию с помощью оператора BEGIN TRANSACTION.Для этого нет отдельной API-функции

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...