sqlite3函数:
sqlite3_bind_blob( stat, 1, pdata, (int)(length_of_data_in_bytes), NULL );?
// 参数1:sqlte_stmt*
// 参数2:“?”的索引,从1开始
// 参数3:二进制数据的起始指针
// 参数4:二进制数据的长度
// 参数5:析构回调函数,一般默认为空
sqlite3_bind_blob(stmt, 1, buff, 16, NULL);
#include
static sqlite3 *db;
int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i
printf("%s = %s\n", azColName[i], ar
1:常用接口
个人比较喜欢sqlite, 使用最方便,唯一的准备工作是下载250K的源;而且作者很热心,有问必答。
以下演示一下使用sqlite的步骤,先创建一个数据库,然后查询其中的内容。2个重要结构体和5个主要函数:
sqlite3 *pdb, 数据库句柄,跟文件句柄FILE很类似
sqlite3_stmt *stmt, 这个相当于ODBC的Command对象,用于保存...
sqlite3_bind_parameter_count
sqlite3_bind_parameter_index
sqlite3_bind_parameter_name
sqlite3_bind_text
sqlite3_bind_text16
sqlite3_busy_handler
sqlit
该函数组用于绑定变量值到 prepare 语句中,也就是给 sqlite3_stmt变量赋值。前面的文章讲过,我们一定是先通过sqlite3_prepare_v2函数创建并初始化一个 sqlite3_stmt 变量语句,然后使用sqlite3_bind_xxx函数对 这个 sql语句变量进行绑定参数。
常用的sqlite3_bind函数:
int sqlite3_bind_int(s...
sqlite3数据库之blob数据类型读写
近期在开发过程中需要在数据库中保存二进制文件,于是去了解了一下sqlite3的数据类型,发现blob可以存储二进制数据。
但是blob要如何操作呢?用什么语句呢?
其实它是需要操作sqlite3库的一些底层API来实现。
下面我们就来做实验。
先上测试代码:
#include "Wdebug.h"
#include "sqlite/Wsqlite.h"
#include <stdlib.h>
#define TABLE_NAME "TEST_BL
从 www.sqlite.org 网站可下载到最新的 sqlite 代码和编译版本。写此文章时,最新代码是 3.3.17 版本。
二、基本编译
把 sqlite3.c 和 sqlite3.h 添加到工程,再新建一个 main.cpp文件。在里面写:
extern "C"
#include "./sqlite3.h"
int main( int , char** )
这两个函数给“准备语句”绑定参数。其中函数的第二个参数是字段的编号。
此编号是从1开始,而不是从0开始。
查看sqlite3的源码,可以看到这两个函数都调用了 vdbeUnbind 函数。
查看vdbeUnbind函数,在这个函数中有以下几句
if( i p->nVar){
sqlite3E
Zahi088: