sqlite3_get_table():
sqlite3_get_table (sqlite3 *, // 打开的数据库对象指针
const char * sql, // 要查询的 sql 语句
char ** resultp, // 查询结果
int * nrow, // 查询出多少条记录(即查出多少行)
int * ncolumn, // 多少个字段(多少列)
char ** errmsg // 错误信息
);
它内存布局是:第一行是字段名称,后面是紧接着是每个字段的值
sqlite3_exec():
sqlite3_exec ( sqlite3 *db, // 使用 sqlite3_open () 打开的数据库对象。
const char *sql, // 一条待查询的 SQL 语句
sqlite3_callback, // 自定义的回调函数,对查询结果每一行都执行一次这个函数
void *,
char **errmsg
);
(*sqlite3_callback) (void *, // 这就是上面函数传递的 void * 参数,需要强制类型转换后才能使用。
int, // 查询结果的列数,即有多少个字段数
char **, // 保存查询结果
char ** // 各个字段的名字
);
查询与判断列
通过以下语句可查询出某个表的所有字段信息:也就是列信息和列种储存数据类型
PRAGMA table_info([tablename])