当前位置:   article > 正文

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/490865
推荐阅读
相关标签
  

闽ICP备14008679号