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

相关推荐
GreatSQL2 小时前
MySQL迁移至GreatSQL后,timestamp字段插入报错解析
数据库
expect7g3 小时前
COW、MOR、MOW
大数据·数据库·后端
DemonAvenger4 小时前
MySQL海量数据快速导入导出技巧:从实战到优化
数据库·mysql·性能优化
薛定谔的算法21 小时前
phoneGPT:构建专业领域的检索增强型智能问答系统
前端·数据库·后端
Databend1 天前
Databend 亮相 RustChinaConf 2025,分享基于 Rust 构建商业化数仓平台的探索
数据库
得物技术1 天前
破解gh-ost变更导致MySQL表膨胀之谜|得物技术
数据库·后端·mysql
Raymond运维1 天前
MariaDB源码编译安装(二)
运维·数据库·mariadb
沢田纲吉1 天前
🗄️ MySQL 表操作全面指南
数据库·后端·mysql
RestCloud2 天前
SQL Server到Hive:批处理ETL性能提升30%的实战经验
数据库·api
RestCloud2 天前
为什么说零代码 ETL 是未来趋势?
数据库·api