【sqlite的C语言访问接口】执行SQL语句的接口——sqlite3_exec回调函数的使用

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;
}

执行结果

【sqlite的C语言访问接口】执行SQL语句的接口------sqlite3_exec回调函数的使用

Original: https://blog.csdn.net/qq_43533553/article/details/122534424
Author: 天上的小邢星
Title: 【sqlite的C语言访问接口】执行SQL语句的接口——sqlite3_exec回调函数的使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/817137/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球