亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? zj1.txt

?? sqlite 3.0使用方法
?? TXT
字號(hào):
SQLITE3 使用總結(jié)

                   董淳光 42530 (老工號(hào))

 dcg1981@163.com

                     2007年6月11日星期一

 

 

前序:... 1

一、       版本... 1

二、       基本編譯... 2

三、       SQLITE操作入門(mén)... 2

(1)     基本流程... 2

(2)     SQL語(yǔ)句操作... 4

(3)     操作二進(jìn)制... 8

(4)     事務(wù)處理... 10

四、       給數(shù)據(jù)庫(kù)加密... 10

五、       后記... 25

 

 

前序:
Sqlite3 的確很好用。小巧、速度快。但是因?yàn)榉俏④浀漠a(chǎn)品,幫助文檔總覺(jué)得不夠。這些天再次研究它,又有一些收獲,這里把我對(duì) sqlite3 的研究列出來(lái),以備忘記。

這里要注明,我是一個(gè)跨平臺(tái)專(zhuān)注者,并不喜歡只用 windows 平臺(tái)。我以前的工作就是為 unix 平臺(tái)寫(xiě)代碼。下面我所寫(xiě)的東西,雖然沒(méi)有驗(yàn)證,但是我已盡量不使用任何 windows 的東西,只使用標(biāo)準(zhǔn) C 或標(biāo)準(zhǔn)C++。但是,我沒(méi)有嘗試過(guò)在別的系統(tǒng)、別的編譯器下編譯,因此下面的敘述如果不正確,則留待以后修改。

下面我的代碼仍然用 VC 編寫(xiě),因?yàn)槲矣X(jué)得VC是一個(gè)很不錯(cuò)的IDE,可以加快代碼編寫(xiě)速度(例如配合 Vassist )。下面我所說(shuō)的編譯環(huán)境,是VC2003。如果讀者覺(jué)得自己習(xí)慣于 unix 下用 vi 編寫(xiě)代碼速度較快,可以不用管我的說(shuō)明,只需要符合自己習(xí)慣即可,因?yàn)槲矣玫氖菢?biāo)準(zhǔn) C 或 C++ 。不會(huì)給任何人帶來(lái)不便。

 

一、       版本
從 www.sqlite.org 網(wǎng)站可下載到最新的 sqlite 代碼和編譯版本。我寫(xiě)此文章時(shí),最新代碼是 3.3.17 版本。

很久沒(méi)有去下載 sqlite 新代碼,因此也不知道 sqlite 變化這么大。以前很多文件,現(xiàn)在全部合并成一個(gè) sqlite3.c 文件。如果單獨(dú)用此文件,是挺好的,省去拷貝一堆文件還擔(dān)心有沒(méi)有遺漏。但是也帶來(lái)一個(gè)問(wèn)題:此文件太大,快接近7萬(wàn)行代碼,VC開(kāi)它整個(gè)機(jī)器都慢下來(lái)了。如果不需要改它代碼,也就不需要打開(kāi) sqlite3.c 文件,機(jī)器不會(huì)慢。但是,下面我要寫(xiě)通過(guò)修改 sqlite 代碼完成加密功能,那時(shí)候就比較痛苦了。如果個(gè)人水平較高,建議用些簡(jiǎn)單的編輯器來(lái)編輯,例如 UltraEdit 或 Notepad 。速度會(huì)快很多。

 

二、       基本編譯
這個(gè)不想多說(shuō)了,在 VC 里新建 dos 控制臺(tái)空白工程,把 sqlite3.c 和 sqlite3.h 添加到工程,再新建一個(gè) main.cpp 文件。在里面寫(xiě):

extern "C"

{

#include "./sqlite3.h"

};

int main( int , char** )

{

return 0;

}

為什么要 extern “C” ?如果問(wèn)這個(gè)問(wèn)題,我不想說(shuō)太多,這是C++的基礎(chǔ)。要在 C++ 里使用一段 C 的代碼,必須要用 extern “C” 括起來(lái)。C++跟 C雖然語(yǔ)法上有重疊,但是它們是兩個(gè)不同的東西,內(nèi)存里的布局是完全不同的,在C++編譯器里不用extern “C”括起C代碼,會(huì)導(dǎo)致編譯器不知道該如何為 C 代碼描述內(nèi)存布局。

可能在 sqlite3.c 里人家已經(jīng)把整段代碼都 extern “C” 括起來(lái)了,但是你遇到一個(gè) .c 文件就自覺(jué)的再括一次,也沒(méi)什么不好。

基本工程就這樣建立起來(lái)了。編譯,可以通過(guò)。但是有一堆的 warning。可以不管它。

 

三、       SQLITE操作入門(mén)
sqlite提供的是一些C函數(shù)接口,你可以用這些函數(shù)操作數(shù)據(jù)庫(kù)。通過(guò)使用這些接口,傳遞一些標(biāo)準(zhǔn) sql 語(yǔ)句(以 char * 類(lèi)型)給 sqlite 函數(shù),sqlite 就會(huì)為你操作數(shù)據(jù)庫(kù)。

sqlite 跟MS的access一樣是文件型數(shù)據(jù)庫(kù),就是說(shuō),一個(gè)數(shù)據(jù)庫(kù)就是一個(gè)文件,此數(shù)據(jù)庫(kù)里可以建立很多的表,可以建立索引、觸發(fā)器等等,但是,它實(shí)際上得到的就是一個(gè)文件。備份這個(gè)文件就備份了整個(gè)數(shù)據(jù)庫(kù)。

sqlite 不需要任何數(shù)據(jù)庫(kù)引擎,這意味著如果你需要 sqlite 來(lái)保存一些用戶(hù)數(shù)據(jù),甚至都不需要安裝數(shù)據(jù)庫(kù)(如果你做個(gè)小軟件還要求人家必須裝了sqlserver 才能運(yùn)行,那也太黑心了)。

下面開(kāi)始介紹數(shù)據(jù)庫(kù)基本操作。

(1)   基本流程
i.1            關(guān)鍵數(shù)據(jù)結(jié)構(gòu)

sqlite 里最常用到的是 sqlite3 * 類(lèi)型。從數(shù)據(jù)庫(kù)打開(kāi)開(kāi)始,sqlite就要為這個(gè)類(lèi)型準(zhǔn)備好內(nèi)存,直到數(shù)據(jù)庫(kù)關(guān)閉,整個(gè)過(guò)程都需要用到這個(gè)類(lèi)型。當(dāng)數(shù)據(jù)庫(kù)打開(kāi)時(shí)開(kāi)始,這個(gè)類(lèi)型的變量就代表了你要操作的數(shù)據(jù)庫(kù)。下面再詳細(xì)介紹。

i.2            打開(kāi)數(shù)據(jù)庫(kù)

int sqlite3_open( 文件名, sqlite3 ** );

用這個(gè)函數(shù)開(kāi)始數(shù)據(jù)庫(kù)操作。

需要傳入兩個(gè)參數(shù),一是數(shù)據(jù)庫(kù)文件名,比如:c:\\DongChunGuang_Database.db。

文件名不需要一定存在,如果此文件不存在,sqlite 會(huì)自動(dòng)建立它。如果它存在,就嘗試把它當(dāng)數(shù)據(jù)庫(kù)文件來(lái)打開(kāi)。

sqlite3 ** 參數(shù)即前面提到的關(guān)鍵數(shù)據(jù)結(jié)構(gòu)。這個(gè)結(jié)構(gòu)底層細(xì)節(jié)如何,你不要關(guān)它。

函數(shù)返回值表示操作是否正確,如果是 SQLITE_OK 則表示操作正常。相關(guān)的返回值sqlite定義了一些宏。具體這些宏的含義可以參考 sqlite3.h 文件。里面有詳細(xì)定義(順便說(shuō)一下,sqlite3 的代碼注釋率自稱(chēng)是非常高的,實(shí)際上也的確很高。只要你會(huì)看英文,sqlite 可以讓你學(xué)到不少東西)。

下面介紹關(guān)閉數(shù)據(jù)庫(kù)后,再給一段參考代碼。

i.3            關(guān)閉數(shù)據(jù)庫(kù)

int sqlite3_close(sqlite3 *);

       前面如果用 sqlite3_open 開(kāi)啟了一個(gè)數(shù)據(jù)庫(kù),結(jié)尾時(shí)不要忘了用這個(gè)函數(shù)關(guān)閉數(shù)據(jù)庫(kù)。

下面給段簡(jiǎn)單的代碼:

extern "C"

{

#include "./sqlite3.h"

};

int main( int , char** )

{

    sqlite3 * db = NULL; //聲明sqlite關(guān)鍵結(jié)構(gòu)指針

    int result;

 

//打開(kāi)數(shù)據(jù)庫(kù)

//需要傳入 db 這個(gè)指針的指針,因?yàn)?sqlite3_open 函數(shù)要為這個(gè)指針?lè)峙鋬?nèi)存,還要讓db指針指向這個(gè)內(nèi)存區(qū)

    result = sqlite3_open( “c:\\Dcg_database.db”, &db ); 

    if( result != SQLITE_OK )

    {

     //數(shù)據(jù)庫(kù)打開(kāi)失敗

return -1;

}

//數(shù)據(jù)庫(kù)操作代碼

//…

 

//數(shù)據(jù)庫(kù)打開(kāi)成功

//關(guān)閉數(shù)據(jù)庫(kù)

sqlite3_close( db );

return 0;

}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费高清视频精品| 精品一区二区三区久久| 亚洲精品在线电影| 国产精品蜜臀在线观看| 欧美伊人精品成人久久综合97 | 激情国产一区二区| 一区二区三区日韩在线观看| 337p粉嫩大胆噜噜噜噜噜91av| 色狠狠一区二区三区香蕉| 国产一区二区三区免费看| 亚洲一级二级在线| 国产精品久久久久aaaa| 欧美成人精品1314www| 在线观看视频一区| 99视频在线精品| 国产成人精品午夜视频免费| 日本女人一区二区三区| 一区二区三区在线视频播放 | 国产精品对白交换视频| 欧美r级电影在线观看| 欧美日韩视频不卡| 色噜噜狠狠成人中文综合| 丰满亚洲少妇av| 久久99国产乱子伦精品免费| 首页国产欧美久久| 亚洲成人av免费| 一区二区三区久久久| 最近日韩中文字幕| 国产精品国产三级国产普通话99 | 久久免费午夜影院| 欧美va亚洲va在线观看蝴蝶网| 欧美日韩一区二区在线视频| 在线免费一区三区| 色狠狠色狠狠综合| 色噜噜夜夜夜综合网| av爱爱亚洲一区| 99精品偷自拍| 91麻豆国产福利在线观看| 成人av片在线观看| av综合在线播放| k8久久久一区二区三区| 丁香婷婷综合激情五月色| 国产黄色精品网站| 波多野结衣的一区二区三区| 成人黄色av电影| 91视视频在线观看入口直接观看www | 麻豆成人综合网| 精品制服美女久久| 国产美女精品人人做人人爽| 国产一区在线精品| caoporn国产一区二区| www.色精品| 色婷婷综合视频在线观看| 欧美性xxxxx极品少妇| 欧美日韩1234| 日韩欧美亚洲一区二区| 久久免费国产精品| 国产精品美女www爽爽爽| 亚洲欧美日韩国产手机在线| 亚洲午夜精品一区二区三区他趣| 三级一区在线视频先锋| 久久精品国产秦先生| 国产精品中文欧美| 99视频在线精品| 欧美美女一区二区三区| 日韩精品一区二区三区在线 | 亚洲免费在线电影| 亚洲成人午夜电影| 国产一区二区三区免费观看| 成人理论电影网| 欧美亚洲动漫另类| 日韩精品一区二区三区老鸭窝 | 91久久线看在观草草青青| 欧美电影在线免费观看| 久久这里都是精品| 亚洲六月丁香色婷婷综合久久| 天天综合色天天综合色h| 国产精品乡下勾搭老头1| 91麻豆产精品久久久久久| 欧美精品少妇一区二区三区| 久久久久一区二区三区四区| 亚洲视频每日更新| 蜜桃传媒麻豆第一区在线观看| www.亚洲激情.com| 91精品国产91久久综合桃花| 国产片一区二区| 日产国产高清一区二区三区| 成人三级在线视频| 3d动漫精品啪啪| 亚洲手机成人高清视频| 麻豆高清免费国产一区| 日本韩国欧美一区二区三区| www一区二区| 爽好多水快深点欧美视频| av不卡一区二区三区| 精品国产在天天线2019| 亚洲国产日韩精品| 成人午夜精品在线| 精品欧美一区二区在线观看| 一区二区三区日韩精品| 国产精品99久久久久久久女警 | 91在线播放网址| 欧美精品一区二区三区蜜桃| 亚洲一区在线观看免费观看电影高清| 精品久久久久久久久久久院品网 | 亚洲免费观看高清完整版在线观看 | 亚洲成人综合视频| 成人av网站免费| 久久久久国产精品厨房| 丝袜诱惑亚洲看片 | 国产欧美一区二区在线| 日本不卡免费在线视频| 欧美专区日韩专区| 国产精品久久午夜夜伦鲁鲁| 麻豆久久久久久久| 7777精品伊人久久久大香线蕉超级流畅 | 日韩精品资源二区在线| 亚洲成人综合视频| 色哟哟国产精品| 欧美国产精品一区二区三区| 老司机精品视频导航| 6080日韩午夜伦伦午夜伦| 亚洲伦在线观看| 成人高清免费观看| 国产欧美一区二区三区鸳鸯浴 | 精品久久久久久无| 美日韩一级片在线观看| 欧美精品久久久久久久久老牛影院| 亚洲激情一二三区| 色综合天天性综合| 最近中文字幕一区二区三区| 成人av网址在线观看| 国产精品日产欧美久久久久| 国产美女视频91| 国产日韩视频一区二区三区| 韩国女主播一区二区三区| 精品国产免费一区二区三区四区 | 精品剧情在线观看| 国内精品伊人久久久久av影院| 日韩一级二级三级精品视频| 日产国产欧美视频一区精品| 91精品国产一区二区三区蜜臀| 三级一区在线视频先锋| 69堂国产成人免费视频| 看电影不卡的网站| 久久久久国产免费免费| 国产成人av电影在线| 国产精品美女久久久久av爽李琼 | 国产精品中文有码| 国产精品日日摸夜夜摸av| 99re视频精品| 亚洲国产精品人人做人人爽| 欧美日韩在线三区| 乱中年女人伦av一区二区| 久久久久99精品国产片| 成人高清在线视频| 一区二区三区精品视频| 欧美群妇大交群的观看方式| 免费观看一级欧美片| 久久―日本道色综合久久 | 欧美一区二区三区系列电影| 毛片av一区二区三区| 中文字幕欧美激情| 91久久精品一区二区三区| 五月激情六月综合| 精品盗摄一区二区三区| eeuss鲁片一区二区三区在线观看| 一区二区免费看| 欧美xxxx老人做受| 不卡av在线免费观看| 香蕉久久一区二区不卡无毒影院| 日韩免费看的电影| av午夜精品一区二区三区| 亚洲成人动漫在线免费观看| 26uuu另类欧美| 色妞www精品视频| 国内成人自拍视频| 亚洲蜜臀av乱码久久精品蜜桃| 欧美一区二区三区免费观看视频| 国产精品一品二品| 亚洲成人av中文| 国产日产欧美一区二区三区| 欧美日韩国产影片| 成人综合婷婷国产精品久久免费| 亚洲午夜国产一区99re久久| 久久亚洲一区二区三区明星换脸| 91老师片黄在线观看| 久久丁香综合五月国产三级网站| 国产精品理论在线观看| 91精品国产麻豆| 成人网页在线观看| 麻豆91在线观看| 亚洲一区在线观看免费| 国产欧美日韩精品在线| 欧美精品色一区二区三区| a4yy欧美一区二区三区| 久久机这里只有精品| 一区二区日韩电影| 亚洲国产成人一区二区三区| 日韩欧美国产综合一区|