Appearance
函数原型
功能:执行 SQL 语句
cpp
int sqlite3_exec(
sqlite3* db, /*数据库连接对象*/
const char* sql, /*待执行的 SQL 语句*/
int (*callback)(void*,int,char**,char**), /*回调函数*/
void* arg, /*回调函数的第一个参数*/
char** errmsg /*错误信息*/
);- 参数:
- db: 数据库连接对象
- sql: 待执行的 SQL 语句
- callback: 回调函数,用于处理查询结果
- arg: 回调函数的第一个参数
- errmsg: 指向错误信息的指针
- 返回值:
- int: 执行结果,成功返回 SQLITE_OK,失败返回错误代码
回调函数
功能:每当查询到一条满足条件的记录,该回调函数会被执行一次。
c
int select_callback(void* arg, int ncolumn,
char **column_text, char** b);参数:
void *arg:sqlite3_exec函数的第四个参数传入int ncolumn:查询结果的列数char **column_text:该二级指针指向的是一个数组,该数组是一个指针数组,数组中的每个元素都是char*类型的指针。该char*类型的指针元素指向的内容代表了查询结果的内容。char **column_name:该二级指针指向的是一个数组,该数组是一个指针数组,数组中的每个元素都是char*类型的指针。该char*类型的指针元素指向的内容代表了查询结果列名。
注意事项
- sqlite3_exec() 函数用于执行 SQL 语句,不返回结果集
- 若有需要返回结果集的 SQL 语句,请使用 sqlite3_prepare_v2() 和 sqlite3_step() 等函数
- 回调函数应该指向一个函数,该函数具有特定的格式定义,专用于处理查询结果
- errmsg 参数用于返回错误信息,必须为 NULL 或者是一个指向已分配空间的 char* 指针,若此参数为 NULL,则忽略错误信息,否则在出现错误时填充 errmsg 指向的空间
- 回调函数返回 0 时,查询会立即停止,并且可以通过查询结果的 errcode 属性获得错误码。如果查询成功返回错误码为 SQLITE_OK。