RussianLDP Є┼╩╘╔╬╟@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Small. Fast. Reliable.
Choose any three.

SQLite C Interface

Закрытие соединения с базой данных

int sqlite3_close(sqlite3*);
int sqlite3_close_v2(sqlite3*);

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 не делает ничего.