sqlite3 的二进制数据插入与获取

sqlite3 存储和查找二进制数据对象 使用c语言接口

思路:通过让代码执行执行sql语句进行查找,但二进制的显示方法无法确定所以,二进制数据对象查询语句略有不同。

注意:sqlite3的数据库以及开发环境不在本片介绍之中

  1. sqlite 支持存储blob(二进制大数据)
  2. 认识两个对象:sqlite3 * 数据库对象。
    1. sqlite3_stmt * 语句执行对象;
  3. 使用c语言调用涉及函数接口
  • int sqlite3_open(const char * filename,sqlite3 **ppDb);
    • 功能打开或则创建一个sqlite数据库对象
SQLITE_API int sqlite3_open(
  const char *filename,   /* Database filename (UTF-8) */
  sqlite3 **ppDb          /* OUT: SQLite db handle */
);
//函数功能:打开或则创建一个sqlite数据库对象。数据库对象路径(包含名称),为第一个变量filename,
//第二个变量用于指向打开的数据库,它是一个sqlite3* 指针的地址。
// 返回值; 正确返回 SQLITE_OK宏,错误返回对应的错误码,可以使用 const char* sqlite_errmsg(sqlite3*);获取错误信息
  • SQLITE_API int sqlite3_close(sqlite3*);

    • 功能:关闭 sqlit3_open()打开的数据库。 传数据库指针就可以了
  • SQLITE_API int sqlite3_exec(sqlite3 *, const char *sql, int (*callback)(void *, int, char **, char **), void *, char **errmsg);

    • 功能:执行sql语句,若sql语句有返回数据,则每一行返回值调用一次处理函数,也就是callback回调函数。
  • SQLITE_API int sqlite3_exec(
      sqlite3*,                                  /* An open database 数据库指针 */
      const char *sql,                           /* SQL to be evaluated 待执行的sql语句 */
      int (*callback)(void*,int,char**,char**),  /* Callback function  回调函数指针,放回调函数 */
      void *,                                    /* 1st argument to callback 这个参数 是传给回调函数的,是回调函数中的第一个参数 */
      char **errmsg                              /* Error msg written here 错误信息存放地址,需传入一个开辟了空间的指针地址,用于存放错误信息,若为NULL则自动开辟空间存放 */
    );
    
  • 下面函数功能,将SQL文本编译为字节代码,它将完成查询或更新数据库的工作。是sqlite3_stmt的构造函数

SQLITE_API int sqlite3_prepare(
  sqlite3 *db,            /* Database handle 数据库 */
  const char *zSql,       /* SQL statement, UTF-8 encoded sql语句 */
  int nByte,              /* Maximum length of zSql in bytes. 语句长度 */
  sqlite3_stmt **ppStmt,  /* OUT: Statement han
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值