数据库之API操作

SQLite编程接口

int sqlite3_open(char *path, sqlite3 **db);//打开数据库

--功能:打开sqlite数据库

--path:数据库文件路径

--db:指向sqlite句柄的指针

--返回值:成功返回SQLITE_OK,失败返回错误码(非零值)

int sqlite3_close(sqlite3 *db);//关闭数据库

--返回值:成功返回SQLITE_OK,失败返回错误码

const char *sqlite3_errmg(sqlite3 *db);//返回错误信息

返回值:错误信息的首地址

执行语句函数

复制代码
int sqlite3_exec(
  sqlite3*db,                                  /* An open database */
  const char *sql,                           /* SQL to be evaluated */
  int (*callback)(void*,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 (*acllback)(void * arg,int f_num, char **f_value,char ** f_name);

功能:查询的结果,是一个函数指针类型,传递一个函数名即可。

typedef int(*sqlite3_callback)(void *para,int f_num, char **f_value,char **f_name);

--功能:每找到一条记录自动执行一次回调函数

--para:传递给回调函数的参数

--f_num:记录中包含的字段数目

--f_value:包含每个字段值的指针数组

--f_name:包含每个字段名称的指针数组

--返回值:成功返回0,失败返回-1;

不使用回调函数执行SQL语句

int sqlite3_get_table(sqlite3 *db,const char *sql, char ***resultp, int *nrow, int *ncolum, char **errmsg);

--功能:执行SQL操作

--db:SQL语句

--resultp:用来指向sql执行结果的指针

--nrow:满足条件的记录的数目

--ncolumn:每条记录包含的字段数目

--errmsg:错误信息指针的地址

--返回值:成功返回0,失败返回错误代码;

相关推荐
陈天伟教授42 分钟前
关系数据库-07. 关系操作
数据库·达梦数据库·国产数据库
zzhongcy44 分钟前
复合索引 (item1, item2, item3 ) > (?, ?, ?) 不起作用,EXPLAIN 后type=ALL(全表扫描)
android·数据库
Elastic 中国社区官方博客1 小时前
Elastic:DevRel 通讯 — 2026 年 1 月
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
可观测性用观测云1 小时前
AWS RDS 可观测性最佳实践
数据库
程序员小白条1 小时前
面试 Java 基础八股文十问十答第八期
java·开发语言·数据库·spring·面试·职场和发展·毕设
汗流浃背了吧,老弟!1 小时前
向量数据库在RAG中的非必需场景及替代方案
数据库
brevity_souls1 小时前
SQL 中 BETWEEN 和 IN 的区别
数据库·sql
产幻少年2 小时前
redis位图
数据库·redis·缓存
短剑重铸之日3 小时前
《7天学会Redis》Day 4 - 高可用架构设计与实践
数据库·redis·缓存
NineData3 小时前
第三届数据库编程大赛-八强决赛成绩揭晓
数据库·算法·代码规范