1,基本信息:
1)#include <sqlite3.h>
2)int rc = sqlite3_open(db_name, &db);//不存在会创建文件
3)查询后直接返回结果 而不是回调
int
sqlite3_get_table (sqlite3 *, // 打开的数据库对象指针
const char * sql, // 要查询的 sql 语句
char *** resultp, // 查询结果
int * nrow, // 查询出多少条记录(即查出多少行)
int * ncolumn, // 多少个字段(多少列)
char ** errmsg // 错误信息
);
4)sqlite3_close(sqlite3 *db);
5)sqlite3_exec(sqlite3*, const char *sql, int (*callback)(void*,int,char**,char**), void *, char **errmsg);
int
sqlite3_exec ( sqlite3 *db, // 使用 sqlite3_open () 打开的数据库对象。
const char *sql, // 一条待查询的 SQL 语句
sqlite3_callback, // 自定义的回调函数,对查询结果每一行都执行一次这个函数
void *,// 这个void 会直接传递到 callback 中的 void 位置;
char **errmsg//出错信心 可以为空
);
其中sqlite3_callback 是一个 函数指针;
定义为:
typedef int
(*sqlite3_callback) (void *, // 这就是上面函数传递的 void * 参数,需要强制类型转换后才能使用。
int, // 查询结果的列数,即有多少个字段数
char **, // 保存查询结果
char ** // 各个字段的名字
);
6)sqlite3_free_table( dbResult );
2, 对于查询数据 可以使用getTable 也可以使用回调方式的 execute;