Linux下的sqlite的几个常用api介绍

由于sqlist3的man手册较为庞大,所以我们在查询其api时需要去官网查询,链接如下:

https://www.sqlite.org/c3ref/funclist.html

下面列出几个简单的api:

需要注意的是,在sqlite3的api中二级指针作为参数较为频繁,所以在定义时需要注意其参数的类型

sqlite3 数据库 C语言 API 

  打开数据库
     int sqlite3_open(
      const char *filename,   /* Database filename (UTF-8) */
      sqlite3 **ppDb          /* OUT: SQLite db handle */
     );
   
    参数:filename  数据库名称
          ppdb      数据库句柄
    返回值:成功为0 SQLITE_OK ,出错 错误码

   关闭数据库

   int sqlite3_close(sqlite3* db);
    参数:打开的数据库
    返回值:成功为0 SQLITE_OK ,出错 错误码

  
  执行一条sql语句:较为常用!!
   int sqlite3_exec(
   sqlite3* db,                                  /* An open database */
  const char *sql,                           /* SQL to be evaluated */
  int (*callback)(void* arg,int,char**,char**),  /* Callback function */
  void * arg,                                    /* 1st argument to callback */
  char **errmsg                              /* Error msg written here */
  );
  功能:执行一条sql语句
  参数:db  数据库句柄
        sql sql语句
        callback  回调函数,只有在执行查询语句时才会使用,执行其他sql语句置空即可
        arg      为回调函数传递参数,也是查询语句才用,其他时候置
        errmsg  错误消息
  返回值:成功 SQLITE_OK

查询回调函数:
int (*callback)(void* arg,int ncolumns ,char** f_value,char** f_name),  /* Callback function */
功能:查询语句执行之后,会回调此函数,要注意:每查询到一条信息这个函数就会调用一次
参数:arg   接收sqlite3_exec 传递来的参数
      ncolumns 列数
      f_value 列的值得地址
      f_name   列的名称

       // 注意,这里的f_value , f_name都是以数组形式存在,我们要想打印出表中对应数据应该使用f_value[i],i是你要打印的信息在表中对应的位置,比如f_name[0]表示要查询的这个表的第一列的名称,f_value[0]则为你查询到的这一条信息的第一个列所对应的值是多少        


返回值:0,
           
不使用回调函数而是用api直接获取表中的数据:
int sqlite3_get_table(
  sqlite3 *db,          /* An open database */
  const char *zSql,     /* SQL to be evaluated */
  char ***pazResult,    /* Results of the query */
  int *pnRow,           /* Number of result rows written here */
  int *pnColumn,        /* Number of result columns written here */
  char **pzErrmsg       /* Error msg written here */
);

关于其回调函数更详细说明请看此文章

https://blog.csdn.net/weixin_44309097/article/details/124329581

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值