赞
踩
由于sqlist3的man手册较为庞大,所以我们在查询其api时需要去官网查询,链接如下:
下面列出几个简单的api:
需要注意的是,在sqlite3的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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。