sqlite3_exec的函数原型:
int sqlite3_exec(
sqlite3 *pDb,
const char *sql,
int (*callback)(void *arg, int col, char **str, char **name),
void *arg,
char **errmsg
)
参数说明:
pDb:打开数据库的句柄
sql:要执行的SQL语句
callback:回调函数,处理SQL语句执行的结果(查询操作)
一条结果调用一次该回调函数。(注:回调函数必须返回SQLITE_OK)
arg:exec的第四个参数
col:本条结果的字段数
str:记录字段值的数组
name:记录字段名的数组
arg:传递给回调函数的第一个参数
errmsg:错误信息
返回值:
成功返回SQLITE_OK,否则打开失败
例子:
#include
#include "sqlite3.h"
int sql_callback(void *arg,int col,char **str,char **name)
{
int i;
for(i=0;i<col;i++){
printf("%s:%s ",name[i],str[i]);
}
printf("\n");
return SQLITE_OK;
}
int main()
{
sqlite3 *pDb = NULL;
int res = sqlite3_open("./test.db",&pDb);
if(res!=SQLITE_OK){
printf("数据库打开失败!\n");
return -1;
}
printf("数据库打开成功!\n");
int id = 0;
char sql[128] = {};
printf("请输入要查找的id:");
scanf("%d",&id);
sprintf(sql,"select * from mytbl where id=%d;",id);
res = sqlite3_exec(pDb,sql,sql_callback,NULL,NULL);
if(res!=SQLITE_OK){
printf("sql语句执行失败!\n");
return -1;
}
printf("sql语句执行成功!\n");
sqlite3_close(pDb);
return 0;
}
执行结果:
Original: https://blog.csdn.net/qq_43533553/article/details/122534424
Author: 天上的小邢星
Title: 【sqlite的C语言访问接口】执行SQL语句的接口——sqlite3_exec回调函数的使用
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817137/
转载文章受原作者版权保护。转载请注明原作者出处!