当前位置: 首页 > article >正文

sqlite3数据库操作接口详细整理,以及常用的数据库语句

sqlite3_open

int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能:打开一个数据库,如果数据库不存在,则创建一个数据库 参数1:要打开的数据库的名字,是一个字符串 参数2:数据库操作句柄,是一个二级指针,需要我们传入一级指针的地址 返回值:成功返回SQLITE_OK,失败返回一个错误码(非linux的错误码),可以使用sqlite_errmsg来获取错误信息,由sqlite3_errcode返回错误码值

sqlite3_close

int sqlite3_close(sqlite3*); 功能:关闭数据库,断开句柄所拥有的资源 参数:数据库指针 返回值:成功返回SQLITE_OK,失败返回其他错误码

 sqlite3_errcode

int sqlite3_errcode(sqlite3 *db) 功能:通过错误句柄返回错误码 参数:错误句柄 返回值:错误码 

回调函数

int callback(void* arg, int cols,char** col_text, char** col_name) 功能:处理sql语句结束后的结果集,主要用于处理select语句 参数1:exec函数的第三个参数,用于主调函数和被调函数之间数据的交流 参数2:sql语句执行过后结果集的列数 参数3:查找的结果集中的相关列的文本内容 参数4:查找的结果集中的相关列的名称 返回值:0表示该函数调用成功,其他整数表明调用失败,如果该函数调用失败,则exec函数也会失败,返回结果就是该函数的返回值

sqlite3_get_table

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 */ ); 功能:通过执行sql语句,得到结果集中的内容 参数1:数据库 参数2:要执行的sql语句 参数3:查询的结果,需要定义一个二级指针变量,将地址进行传递 参数4: 查询结果的行数 参数5:查询结果的列数 参数6:错误信息 返回值:成功返回SQLITE_OK,失败返回非0的错误码

sqltie3_free_table

void sqlite3_free_table(char **result); 功能:释放表的空间 参数:通过sql语句查询的结果

sqlite3_exec

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语句 参数1:已经被打开的数据库 参数2:要执行的sql语句 参数3:回调函数,主要用于数据库查找时,处理查找的结果集的函数,如果不需要处理sql语句的结果,则填NULL即可 参数4:参数3的第一个参数 参数5:错误信息 返回值:成功返回SQLITE_OK,失败返回其他错误码

sqlite3_errmsg

const char *sqlite3_errmsg(sqlite3*); 功能:通过出错的句柄返回错误信息 参数:出错的句柄 返回值:对应的错误信息


http://www.kler.cn/a/232484.html

相关文章:

  • Android 单元测试环境配置问题 Execution failed for task ‘:mergeDebugJavaResource‘.
  • Vue 组件通信及进阶语法
  • 【C#设计模式(4)——构建者模式(Builder Pattern)】
  • [DEBUG] 服务器 CORS 已经允许所有源,仍然有 304 的跨域问题
  • 硬件工程师之电子元器件—二极管(4)之热量对二极管温度特性的影响
  • 「Mac玩转仓颉内测版12」PTA刷题篇3 - L1-003 个位数统计
  • vscode debug无法直接查看eigen变量的问题(解决方法)
  • 2402d,d的静态构造器
  • CSS之盒子模型
  • HttpClient | 支持 HTTP 协议的客户端编程工具包
  • 【机器学习】合成少数过采样技术 (SMOTE)处理不平衡数据(附代码)
  • 懒人精灵 之 Lua 捕获 json解析异常 ,造成的脚本停止.
  • 在Python中读写Kafka队列
  • Qt应用软件【协议篇】TCP示例
  • RPC技术分享
  • 【杂谈】年尾做了这件事,我后悔了.......
  • git flow与分支管理
  • 【大数据】Flink 中的 Slot、Task、Subtask、并行度
  • 利用路由懒加载和CDN分发策略,对Vue项目进行性能优化
  • Ubuntu in VMware的问题
  • 对比 elasticsearch 和 mysql
  • Qt网络编程-QTcpServer的封装
  • 前端JavaScript篇之对原型、原型链的理解、原型修改、重写、原型链指向
  • 职业性格测试在求职应聘跳槽中的应用
  • Nginx方向代理和负载均衡配置
  • Unity3d Shader篇(六)— BlinnPhong高光反射着色器