小巧、快速、可靠。
選擇其中三項。

SQLite C 介面

關閉資料庫連線

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

sqlite3_close()sqlite3_close_v2() 常式是 sqlite3 物件的解構函式。如果成功銷毀 sqlite3 物件並釋放所有相關資源,則呼叫 sqlite3_close()sqlite3_close_v2() 會返回 SQLITE_OK

理想情況下,應用程式應在嘗試關閉物件之前完成所有已準備的陳述式 (prepared statements)關閉所有BLOB 控制代碼 (BLOB handles),並完成sqlite3 物件關聯的所有 sqlite3_backup 物件。如果資料庫連線與未完成的已準備陳述式、BLOB 控制代碼和/或未完成的 sqlite3_backup 物件相關聯,則 sqlite3_close() 將使資料庫連線保持開啟並返回 SQLITE_BUSY。如果在存在未完成的已準備陳述式、未關閉的 BLOB 控制代碼和/或未完成的備份的情況下呼叫 sqlite3_close_v2(),它會返回 SQLITE_OK,但它不會立即釋放資料庫連線,而是將資料庫連線標記為無法使用的「殭屍 (zombie)」,並安排在所有已準備的陳述式完成、所有 BLOB 控制代碼關閉以及所有備份完成後自動釋放資料庫連線。sqlite3_close_v2() 介面旨在與具有垃圾回收機制的宿主語言一起使用,在這些語言中,解構函式的呼叫順序是任意的。

如果在交易開啟時銷毀 sqlite3 物件,則交易會自動回滾。

sqlite3_close(C)sqlite3_close_v2(C)C 參數必須是 NULL 指標或從 sqlite3_open()sqlite3_open16()sqlite3_open_v2() 獲取且先前未關閉的 sqlite3 物件指標。使用 NULL 指標參數呼叫 sqlite3_close()sqlite3_close_v2() 是一個無害的空操作 (no-op)。

另請參閱物件常數函式的列表。