一、sqlite3_exec()使用说明
用于在C语言中访问数据库的一条语句;
增删改没有返回值,可以不用写回调函数;
查询会返回查询结果,需要调用回调函数对返回值进行处理 ,每当查询一行结果后,就会产生一条事件,接收到事件后就会调用对应的回调函数。
二、sqlite3_exec()原型
SQLITE_API int sqlite3_exec(
sqlite3*, /* 数据库的句柄 */
const char *sql, /* 调用数据库的语句 */
int (*callback)(void*arg , int col , char** str , char** name), /* 回调函数 */
void *arg, /* 传递给回调函数的参数 */
char **errmsg /* 错误信息 */
);
假设查询到的数据为:1 ‘hukun’ 2106701 21
1.col:表示返回数据的第几列,如2106701在第2列
2.name:表示当前列的列名,如2106701的列名为班级
3.str:当前列的具体值,如第二列的值为2106701
三、回调函数的例程
int callback(void *arg,int col,char **str,char **name){
for(int i=0;i<col;i++){//仅打印一行数
printf("%s:%s " , name[i] , str[i]);//对每一列进行处理
}
printf("\n");
return SQLITE_OK;
}
注:*回调函数的函数说明一定要与sqlite3_exec()指定的格式相同。
*sqlite3_exec()根据回调函数的返回值,来判断是否继续查询,所以每次的调用回调函数都要返回SQLITE_OK,表示接着查询。