亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > SQLite > 正文

Sqlite 常用函數(shù) 推薦

2020-01-25 19:30:29
字體:
供稿:網(wǎng)友
Sqlite 常用函數(shù),在實(shí)際開發(fā)中,經(jīng)常遇的到。
 
 
1 、打開數(shù)據(jù)庫: 
說明:打開一個數(shù)據(jù)庫,文件名不一定要存在,如果此文件不存在, sqlite 會自動創(chuàng)建。第一個參數(shù)指文件名,第二個參數(shù)則是定義的 sqlite3 ** 結(jié)構(gòu)體指針(關(guān)鍵數(shù)據(jù)結(jié)構(gòu)),這個結(jié)構(gòu)底層細(xì)節(jié)如何,您不用管它。 
int sqlite3_open( 
const char *filename, /* Database filename (UTF-8) */ 
sqlite3 **ppDb /* OUT: SQLite db handle */ 
); 
返回值:表示操所是否正確 ( SQLITE_OK 操作正常) 

2 、關(guān)閉數(shù)據(jù)庫: 
說明:如果用 sqlite3_open 開啟了一個數(shù)據(jù)庫,結(jié)尾時不要忘了用這個函數(shù)關(guān)閉數(shù)據(jù)庫。 
int sqlite3_close(sqlite3*); // 參數(shù)就是剛才的結(jié)構(gòu)體,也就是數(shù)據(jù)庫句柄 

3 、執(zhí)行 SQL 語句: 
說 明:這個函數(shù)的功能是執(zhí)行一條或者多條 SQL 語句, SQL 語句之間用 “;” 號隔開。建議在執(zhí)行一條或者多條 SQL 語句得時候,指定第三個參數(shù)回調(diào)函數(shù),在 回調(diào)函數(shù)中可以獲得執(zhí)行 Sql 得詳細(xì)過程,如果所有 Sql 執(zhí)行完畢則應(yīng)該返回 0 ,否則,則說明這次執(zhí)行并沒有完全成功。第五個參數(shù):如果執(zhí)行失?。]有返回 0 )則可以查看第五個闡述得值。來查看詳細(xì)錯誤信息。 
int sqlite3_exec( 
sqlite3*, /* 已經(jīng)打開的數(shù)據(jù)庫句柄 */ 
const char *sql, /* 要執(zhí)行的 Sql 語句 */ 
sqlite_callback, /* 回調(diào)函數(shù) */ 
void *, /* 傳遞給回調(diào)函數(shù)的參數(shù) */ 
char **errmsg /* 保存錯誤信息 */ 
); 
通常 sqlite3_callback 和它后面的 void* 這兩個位置都可以填 NULL ,表示不需要回調(diào)。比如您做 insert 操作,做 delete 操作,就沒有必要使用回調(diào)。而當(dāng)作 select 時,就要使用回調(diào),因?yàn)?sqlite3 把數(shù)據(jù)查出來,得通過回調(diào)告訴你查出了什么數(shù)據(jù)。 

4 、 exec 的回調(diào) 
typedef int (*sqlite3_callback)(void*, int, char**, char**); 
說明:你的回調(diào)函數(shù)必須定義為上面這個函數(shù)的類型。 
例如: 
int LoadMyInfo( void * para, int n_column, char ** column_value, char ** column_name ) 

//para 是你在 sqlite3_exec 里傳入的 void * 參數(shù) 
// 通過 para 參數(shù),你可以傳入一些特殊的指針(比如類指針、結(jié)構(gòu)指針),然后在這里面強(qiáng)制轉(zhuǎn)換成對應(yīng)的類型(這里面是 void* 類型,必須強(qiáng)制轉(zhuǎn)換成你的類型才可用)。然后操作這些數(shù)據(jù) 
//n_column 是這一條記錄有多少個字段 ( 即這條記錄有多少列 ) 
// char ** column_value 是個關(guān)鍵值,查出來的數(shù)據(jù)都保存在這里,它實(shí)際上是個 1 維數(shù)組(不要以為是 2 維數(shù)組),每一個元素都是一個 char * 值,是一個字段內(nèi)容(用字符串來表示,以 /0 結(jié)尾) 
//char ** column_name 跟 column_value 是對應(yīng)的,表示這個字段的字段名稱 

5 、取當(dāng)前插入位置: 
功能:返回你前一次插入得位置,從 1 開始, sqlite3* 為你打開數(shù)據(jù)庫所得到得句柄。 
long long int sqlite3_last_insert_rowid(sqlite3*); 
6 、非回調(diào) select 查詢: 
功能:執(zhí)行一次查詢 Sql 并且返回得到一個記錄集。 
int sqlite3_get_table( 
sqlite3*, /* 已經(jīng)打開的數(shù)據(jù)庫句柄 */ 
const char *sql, /* 要執(zhí)行的 Sql 語句 */ 
char ***resultp, /* 保存返回記錄集的指針 */ 
int *nrow, /* 返回記錄數(shù)(及查出多少行) */ 
int *ncolumn, /* 返回字段數(shù)(多少列) */ 
char **errmsg /* 返回錯誤信息 */ 

說明:第三個參數(shù)是查詢結(jié)果,它是一維數(shù)組,內(nèi)存布局為:第一行是字段名稱,后面是緊接著是每個字段的值。 
實(shí)例: 
int main( int , char ** ) 

sqlite3 * db; 
int result; 
char * errmsg = NULL; 
char **dbResult; 
int nRow, nColumn; 
int i , j; 
int index; 
result = sqlite3_open( “c://Dcg_database.db”, &db ); 
if( result != SQLITE_OK ) 

return -1; 

// 數(shù)據(jù)庫操作代碼 
// 假設(shè)前面已經(jīng)創(chuàng)建了 MyTable_1 表 
// 開始查詢,傳入的 dbResult 已經(jīng)是 char ** ,這里又加了一個 & 取地址符,傳遞進(jìn)去的就成了 char *** 
result = sqlite3_get_table( db, “select * from MyTable_1”, &dbResult, &nRow, &nColumn, &errmsg ); 
if( SQLITE_OK == result ) 

// 查詢成功 
index = nColumn; // 前面說過 dbResult 前面第一行數(shù)據(jù)是字段名稱,從 nColumn 索引開始才是真正的數(shù)據(jù) 
printf( “ 查到 %d 條記錄 /n”, nRow ); 
for( i = 0; i < nRow ; i++ ) 

printf( “ 第 %d 條記錄 /n”, i+1 ); 
for( j = 0 ; j < nColumn; j++ ) 

printf( “ 字段名 :%s ?> 字段值 :%s/n”, dbResult[j], dbResult [index] ); 
++index; // dbResult 的字段值是連續(xù)的,從第 0 索引到第 nColumn - 1 索引都是字段名稱,從第 nColumn 索引開始,后面都是字段值,它把一個二維的表(傳統(tǒng)的行列表示法)用一個扁平的形式來表示 

printf( “-------/n” ); 


// 到這里,不論數(shù)據(jù)庫查詢是否成功,都釋放 char** 查詢結(jié)果,使用 sqlite 提供的功能來釋放 
sqlite3_free_table( dbResult ); 
// 關(guān)閉數(shù)據(jù)庫 
sqlite3_close( db ); 
return 0; 


7 、釋放查詢結(jié)果: 
功能:釋放當(dāng)前查詢的記錄集所占用的內(nèi)存 
void sqlite3_free_table(char **result); 

實(shí)例:( SQLite 數(shù)據(jù)庫使用回調(diào)函數(shù)的簡單 C 語言實(shí)例) 
復(fù)制代碼代碼如下:

#include <stdio.h> 
#include <sqlite3.h> 
static int callback( void *NotUsed, int argc, char **argv, char **azColName) 

int i; 
for (i=0; i<argc; i++) 

printf( "%s = %s/n" , azColName[i], argv[i] ? argv[i] : "NULL" ); 

printf( "/n" ); 
return 0; 

int main( int argc, char **argv) 

sqlite3 *db; 
char *zErrMsg = 0; 
int rc; 
if ( argc!=3 ) 

fprintf(stderr, "Usage: %s DATABASE SQL-STATEMENT/n" , argv[0]); 
return 1; 

rc = sqlite3_open(argv[1], &db); 
if ( rc ) 

fprintf(stderr, "Can't open database: %s/n" , sqlite3_errmsg(db)); 
sqlite3_close(db); 
return 1; 

rc = sqlite3_exec(db, argv[2], callback, 0, &zErrMsg); 
if ( rc!=SQLITE_OK ) 

fprintf(stderr, "SQL error: %s/n" , zErrMsg); 
sqlite3_close(db); 
return 1; 

sqlite3_close(db); 
return 0; 

編譯: 
[root@localhost test]# gcc sql.c -o sql -l sqlite3

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
老妇女50岁三级| 中文字幕视频免费观看| 亚洲精品理论片| 亚洲综合首页| 色av男人的天堂免费在线| 在线观看国产v片| 国产日韩一区二区三区在线播放| 人妻丰满熟妇av无码久久洗澡| 好吊色欧美一区二区三区| 国产精品99久久久久久动医院| 成人黄色在线观看视频| 91亚洲午夜精品久久久久久| 日本一区二区视频在线播放| 日韩精品在在线一区二区中文| 男女爱爱网站| 在线免费亚洲电影| 日韩在线三区| 国产精品久久精品视| 丁香高清在线观看完整电影视频| 91一区一区三区| 日本女优一区| 玖玖精品国产| 69看片网站| 99久久国产综合精品女小说| 国产一区二区三区四区五区3d| 污网站视频在线观看| 欧美大片va欧美在线播放| 北岛玲日韩精品一区二区三区| 精品久久国产精品| 亚洲乱码一区二区| 免费网站永久免费观看| 无码中文字幕色专区| 日韩精品视频一区二区三区| 国产男人搡女人免费视频| 中文字幕福利视频| 欧美日韩dvd在线观看| 国产美女永久无遮挡| 97夜夜澡人人双人人人喊| 久久www人成免费看片中文| 亚洲欧美国产视频| 亚洲精品国偷自产在线99热| 日日干日日操| 国产精品18久久久久| 三级黄视频在线观看| 精品在线观看一区| 最新国产拍偷乱拍精品| 日韩成人伦理电影在线观看| 国产亚av手机在线观看| 亚洲成av人片在线| 粉嫩av一区二区夜夜嗨| 亚洲黄色精品视频| 无码精品黑人一区二区三区| 欧美大片日本大片免费观看| 你懂得视频在线观看| 欧美一区二区三区四| 日韩高清一区| 亚洲av无码片一区二区三区| 又黄又爽又色视频| 欧美一级视频免费在线观看| 中国老女人av| 欧美一区二区三区系列电影| 亚洲成人av片| 欧美mv日韩mv| 日本在线一区二区三区| 中文字幕丰满乱码| 国产成人免费视| 五月国产精品| 一卡二卡三卡视频| 国产视频你懂的| 91成人网在线观看| 毛片网站网址| 91免费看片网站| 久久精品日产第一区二区三区乱码| 桃子视频成人app| 欧美午夜精品久久久久久人妖| 韩国三级在线看| 国产欧美日韩中文字幕| 色偷偷噜噜噜亚洲男人的天堂| 久久久人成影片一区二区三区观看| 98精品国产自产在线观看| 91精品国产闺蜜国产在线闺蜜| 国产综合香蕉五月婷在线| 在线观看av黄网站永久| 欧美国产视频在线观看| 欧美男女交配视频| 麻豆视频网站在线观看| 精品处破学生在线二十三| 国产精品成人免费精品自在线观看| 国产一区二区欧美| 国产精品豆花视频| 日韩视频免费观看高清完整版在线观看| 亚洲激情中文字幕| 亚洲图片有声小说| 免费在线观看毛片网站| 黄色av网站在线免费观看| 在线精品视频一区二区三四| 国产伦理久久久久久妇女| 日韩一区二区福利| 国产日韩欧美在线看| 国产香蕉久久| 中文综合在线观看| 日中文字幕在线| 一本大道久久a久久精品| 羞羞网站在线免费观看| 欧美日韩中文字幕日韩欧美| avav免费在线观看| 欧美一区二区三区视频| 黄页网址在线观看| 99热成人精品热久久66| 国产成人综合在线观看| 一区二区91美女张开腿让人桶| 亚洲欧美另类久久久精品2019| 精品视频色一区| 国产精品第157页| 亚洲成人av综合| 日韩精品999| 亚洲精品一区在线| 亚洲国产一区视频| 一区二区的视频| 嫩草懂你的影院| 国产精品久久无码一三区| 99亚洲精品| 国产精品毛片一区视频| 亚洲欧美激情在线视频| 亚洲成av人片观看| 成人好色电影| 免费一级a毛片| 在线免费观看h| 国产女主播自拍| 99视频精品全部免费在线视频| 91夜夜未满十八勿入爽爽影院| 91精品国产丝袜白色高跟鞋| 国产在线视频一区| 日本中文字幕中出在线| 9l国产精品久久久久麻豆| 欧美日韩国产高清| 亚洲最新视频在线观看| 人妻精品久久久久中文| 国产日韩高清一区二区三区在线| 亚洲国产一区二区三区在线| 日本久久综合| 亚洲一级影院| 小早川怜子久久精品中文字幕| 8x国产一区二区三区精品推荐| 在线观看av的网站| 中文字幕伦理片| 中国jizz妇女jizz妇女| 日韩精品1区2区| 可以免费看av的网址| 五月婷婷六月综合| 91高清视频免费看| 韩国一区二区三区在线观看| 一区二区三区中文字幕电影| 136国产福利精品导航| 免费一级做a爰片久久毛片潮| 国产精品av电影| 美女网站在线免费欧美精品| 性欧美69xoxoxoxo| 看国产成人h片视频| 一区二区不卡在线观看| 免费大片在线观看www| 深田咏美中文字幕| 一区二区在线免费视频| blackedav金发美女大战黑人| xfplay资源站夜色先锋| 欧美性xxxx极品hd欧美| 国产绿帽一区二区三区| 青青青草视频| 成人av第一页| 中文字幕色av一区二区三区| 国产美女在线观看一区| 偷拍女澡堂一区二区三区| 亚洲电影免费观看| 三年片大全在线观看大全有哪些| 三区视频在线观看| 亚洲AV成人无码网站天堂久久| av中文天堂在线| 欧美精品韩国精品| 国产精品美女久久久久人| 伊色综合久久之综合久久| 青娱乐国产精品视频| 中文字幕欧美视频| 精品视频一区二区三区四区| 亚洲欧美在线一区二区| 亚洲综合色婷婷在线观看| 中文字幕第八页| 国产成人精品综合久久久久99| 中文字幕亚洲乱码熟女1区2区| 一区二区在线观看免费视频播放| 成人私拍视频| 三妻四妾完整版在线观看电视剧| 欧洲综合视频| 国内在线免费高清视频| 国产乱人伦精品一区| 亚洲bt欧美bt日本bt| 一级做a爱片性色毛片| 明星裸体视频一区二区| 三级三级久久三级久久18| 成人嫩草影院| 99精品视频99| 在线观看xxxx| 最新黄色片网站| 亚洲精品在线91| www.黄com| 国产精品伦一区二区三级视频| 国产午夜久久久| 蜜桃视频在线观看播放| 黄色在线播放| 26uuu亚洲| 免费在线观看91| 欧美成人片在线观看| 红桃视频成人在线观看| 国产又黄又大又粗的视频| 日本aⅴ免费视频一区二区三区| 免费在线观看日韩视频| 一区二区高清不卡| 啦啦啦中文在线观看日本| 综合一区av| 精品乱人伦一区二区三区| 亚洲精品成人区在线观看| 成人爽a毛片一区二区免费| 激情网站在线观看| 色久视频在线播放| 精品国产乱码久久久久久夜甘婷婷| 邻居大乳一区二区三区| 日韩经典在线观看| 一区二区在线观看视频在线观看| 日韩一区日韩二区| 色视频www在线播放国产成人| 午夜天堂影视香蕉久久| 777.av| 日韩精品乱码av一区二区| 午夜在线一区二区| 免费国产羞羞网站美图| 日本美女一级片| 亚洲爽爆av| 无码av天堂一区二区三区| 天堂在线资源8| 欧美大片在线观看| 精品国产一区二区三区免费| 特级西西人体高清大胆| 国产精品嫩草影院一区二区| 久久久久久久久中文字幕| 欧美日韩一级片网站| 精品国产一区二区三区四区精华| 久久久久中文字幕| 国产无人区码熟妇毛片多| 91wwwcom在线观看| 国产精品视频一区二区三区麻豆| 一区二区三区四区五区视频在线观看| 在线高清一区| 日本激情视频在线观看| 免费黄网站观看| 亚洲视频在线网| 无码人妻精品一区二区三应用大全| 涩爱av色老久久精品偷偷鲁| 国产亚洲欧美另类一区二区三区| 蜜桃伊人久久| 艳母动漫在线免费观看| 综合中文字幕| 欧美日韩综合在线免费观看| 91精品国产免费| 影音先锋在线亚洲| 2023av在线| 国产ts一区二区| 国产视频911| 亚洲高清资源在线观看| 天堂网在线观看在线观看精品| 午夜欧美大尺度福利影院在线看| 亚洲第一免费播放区| 麻豆91精品91久久久| 秋霞午夜一区二区三区视频| 国产欧美123| 亚洲天堂久久久久久久| 成人午夜激情视频| 一级性生活大片| 欧美精品一级二级| 亚洲free性xxxx护士hd| 在线免费看v片| 国产日韩精品在线看| 中文天堂在线视频| 91欧洲在线视精品在亚洲| 99视频精品全部免费在线视频| 中文字幕 国产精品| 在线免费看污| 亚洲三级欧美| 国产黄色三级网站| 91麻豆精品国产自产在线观看一区| 国产嫩草一区二区三区在线观看| 日韩中文在线中文网三级| 国产在线视频福利| 国产日产欧美一区二区三区| 精品捆绑调教一区二区三区| 国产农村妇女毛片精品| 超薄肉色丝袜一二三| 无码人妻精品一区二区50| 黄网站色视频免费观看| 欧美做爰猛烈大尺度视频| 国产精品欧美亚洲777777| 国产香蕉一区二区三区在线视频| 午夜精品国产精品大乳美女| 国产成人精品免高潮在线观看| 老司机午夜精品视频在线观看| 男人亚洲天堂网| 欧美亚洲三区| 国产ts在线观看| 亚洲成人激情在线| 一本一本久久a久久精品牛牛影视| 亚洲va久久久噜噜噜久久狠狠| www.先锋影音av| 下面一进一出好爽视频| 欧美高清性xxxxxxx| 一区二区三区少妇| 欧美猛男同性videos| 一本久久综合| 天天噜天天色| 亚洲福利视频导航| 美女精品导航| 69精品丰满人妻无码视频a片| 在线播放黄网| 免费看的黄色网| 久久五月精品中文字幕| 在线观看免费版| 这里只有精品视频在线观看| 欧美性另类69xxxx| 精品久久精品久久| 国产一区二区三区自拍| 亚洲免费福利|