数据库之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,失败返回错误代码;

相关推荐
艾莉丝努力练剑5 分钟前
MySQL查看命令速查表
linux·运维·服务器·网络·数据库·人工智能·mysql
高铭杰23 分钟前
Postgresql源码(157)Redo系列MultiXact Redo (RM_MULTIXACT_ID = 6)
数据库·postgresql
05大叔29 分钟前
mysql 触发器,锁
数据库·mysql·oracle
大鹏说大话31 分钟前
拒绝“慢查询”:SQL性能优化实战与索引的双刃剑效应
数据库·oracle
小狼只想在飞船上收庄稼33 分钟前
Linux 信号机制--续1
数据库
MoSTChillax34 分钟前
新手 3 个文件跑通前端 + Flask + MySQL(最小可行 CRUD)
数据库·python·mysql·flask
梦想的旅途234 分钟前
企微客户自动触达 API:实现全生命周期的自动化消息路由
数据库·自动化·企业微信
shyの同学37 分钟前
SQL 谓词下推带来的潜在问题
数据库·sql·mysql
x_lrong39 分钟前
LangChain&Redis记忆
数据库·redis·langchain·向量数据库
代码探秘者40 分钟前
【Redis】双写一致性:延迟双删 / 读写锁 / 异步通知 / Canal,一文全解
java·数据库·redis·后端·算法·缓存