柚子快報(bào)邀請碼778899分享:Sqlite3之sqlite3
柚子快報(bào)邀請碼778899分享:Sqlite3之sqlite3
一、sqlite3_exec()使用說明
用于在C語言中訪問數(shù)據(jù)庫的一條語句;
增刪改沒有返回值,可以不用寫回調(diào)函數(shù);
查詢會(huì)返回查詢結(jié)果,需要調(diào)用回調(diào)函數(shù)對(duì)返回值進(jìn)行處理?,每當(dāng)查詢一行結(jié)果后,就會(huì)產(chǎn)生一條事件,接收到事件后就會(huì)調(diào)用對(duì)應(yīng)的回調(diào)函數(shù)。
二、sqlite3_exec()原型
SQLITE_API int sqlite3_exec(
sqlite3*, /* 數(shù)據(jù)庫的句柄 */
const char *sql, /* 調(diào)用數(shù)據(jù)庫的語句 */
int (*callback)(void*arg , int col , char** str , char** name), /* 回調(diào)函數(shù) */
void *arg, /* 傳遞給回調(diào)函數(shù)的參數(shù) */
char **errmsg /* 錯(cuò)誤信息 */
);
?假設(shè)查詢到的數(shù)據(jù)為:1????????‘hukun’? ? ? ? 2106701? ? ? ? 21?
1.col:表示返回?cái)?shù)據(jù)的第幾列,如2106701在第2列
2.name:表示當(dāng)前列的列名,如2106701的列名為班級(jí)
3.str:當(dāng)前列的具體值,如第二列的值為2106701
三、回調(diào)函數(shù)的例程
int callback(void *arg,int col,char **str,char **name){
for(int i=0;i
printf("%s:%s " , name[i] , str[i]);//對(duì)每一列進(jìn)行處理
}
printf("\n");
return SQLITE_OK;
}
注:*回調(diào)函數(shù)的函數(shù)說明一定要與sqlite3_exec()指定的格式相同。
? ? ? ? *sqlite3_exec()根據(jù)回調(diào)函數(shù)的返回值,來判斷是否繼續(xù)查詢,所以每次的調(diào)用回調(diào)函數(shù)都要返回SQLITE_OK,表示接著查詢。
柚子快報(bào)邀請碼778899分享:Sqlite3之sqlite3
推薦閱讀
本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點(diǎn)和立場。
轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。