![]() |
|
|||
WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
sqlite3_close() и sqlite3_close_v2() это деструкторы для объекта
sqlite3. Вызов sqlite3_close() и sqlite3_close_v2()
вернут SQLITE_OK, если объект
sqlite3
успешно разрушен, и освобождены все связанные ресурсы. Идеально, запросы должны завершить все
связанные объекты подготовленных запросов,
закрыть все
обработчики BLOB и
закрыть все объекты
sqlite3_backup, связанные с объектом
sqlite3 до попытки закрыть объект.
Если соединение с базой данных связано с незавершенными подготовленными
запросами, обработчиками BLOB и/или незаконченными объектами
sqlite3_backup, sqlite3_close() оставит соединение с базой данных открытым и
возвратит SQLITE_BUSY. Если sqlite3_close_v2()
с незавершенными подготовленными запросами, обработчиками BLOB
и/или незаконченным sqlite3_backups, это вернет
SQLITE_OK, независимо, но вместо того, чтобы
немедленно освободить соединение с базой данных, он отмечает соединение с
базой данных как непригодное "zombie"
и принимает меры, чтобы автоматически освободить соединение с базой данных
после того, как все подготовленные запросы завершены, все обработчики BLOB
закрываются и все резервные копии закончились. sqlite3_close_v2()
предназначается для использования с базовыми языками,
где порядок, в котором вызывают деструкторы, произволен. Если объект sqlite3 разрушен, в то время как
транзакция открыта, транзакция автоматически отменена. C-параметр sqlite3_close(C) и
sqlite3_close_v2(C) должен быть NULL или
указателем объекта sqlite3, полученным из
sqlite3_open(),
sqlite3_open16() или
sqlite3_open_v2(),
и не закрыт ранее. Запрос sqlite3_close() или sqlite3_close_v2() с NULL
не делает ничего.
Choose any three.
SQLite C Interface
Закрытие соединения с базой данных
int sqlite3_close(sqlite3*);
int sqlite3_close_v2(sqlite3*);