本文譯自sqlite3官方文檔
一却音、創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象
API: new sqlite3.Database(filename, [mode], [callback])
功能:返回一個(gè)數(shù)據(jù)庫(kù)對(duì)象并打開(kāi)該數(shù)據(jù)庫(kù),除此之外沒(méi)有其它單獨(dú)打開(kāi)數(shù)據(jù)庫(kù)的方法。
參數(shù)解釋:
-
filename
有下列三種取值:
1 - 有效的數(shù)據(jù)庫(kù)文件名壁却。
2 - ":memory:"表示一個(gè)匿名的基于內(nèi)存的數(shù)據(jù)庫(kù)隔箍。
3 - "" 空字符串表示一個(gè)匿名的基于磁盤的數(shù)據(jù)庫(kù)寺酪。
注意:匿名數(shù)據(jù)庫(kù)不是持久保存的坎背,當(dāng)數(shù)據(jù)庫(kù)關(guān)閉,它們的內(nèi)容就會(huì)被清除寄雀。 -
mode
是可選的:
取值為sqlite3.OPEN_READONLY
得滤、sqlite3.OPEN_READWRITE
和sqlite3.OPEN_CREATE
的任何一個(gè)或其中幾個(gè)的組合。默認(rèn)值是sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE
-
callback
是可選的:
如果提供了這個(gè)參數(shù)盒犹,它是一個(gè)回調(diào)函數(shù)懂更,當(dāng)數(shù)據(jù)庫(kù)被成功打開(kāi)或者打開(kāi)時(shí)發(fā)生錯(cuò)誤都會(huì)被調(diào)用。它的第一個(gè)參數(shù)是一個(gè)error
對(duì)象阿趁,當(dāng)error
為null
時(shí)膜蛔,表明成功打開(kāi)數(shù)據(jù)庫(kù),因此我們可以通過(guò)if (error){}
來(lái)判斷數(shù)據(jù)庫(kù)是否被成功打開(kāi)脖阵。
如果沒(méi)有提供這個(gè)參數(shù),當(dāng)發(fā)生錯(cuò)誤時(shí)墅茉,將產(chǎn)生一個(gè)error
事件和一個(gè)error
對(duì)象命黔,這個(gè)error
對(duì)象會(huì)作為參數(shù)傳給error
事件呜呐,然后把error
事件傳送到數(shù)據(jù)庫(kù)對(duì)象。
不管有沒(méi)有提供這個(gè)參數(shù)悍募,當(dāng)成功打開(kāi)數(shù)據(jù)庫(kù)時(shí)蘑辑,都將產(chǎn)生一個(gè)open
事件發(fā)送到數(shù)據(jù)庫(kù)對(duì)象,只不過(guò)這個(gè)open
事件不攜帶任何參數(shù)(不像error
事件會(huì)傳入一個(gè)error
對(duì)象作為參數(shù))坠宴。
API: sqlite3.verbose()
功能:設(shè)置執(zhí)行模式為verbose以產(chǎn)生詳細(xì)的堆棧追蹤信息洋魂,暫時(shí)沒(méi)有方法來(lái)重置這個(gè)模式,只管照搬使用就是了喜鼓。