接上文,实现数据库增删改查(使用回调函数)
回调函数接口:
typedef int(*sqlite3_callback)( void *para, int f_num, char ** f_value, char ** f_name)
函数参数:
功能: 每找到一条记录自动执行一次回调函数
para:传递给回调函数的参数
f_num:记录中包含的字段数目
f_value:包含每个字段值的指针数组
f_name:包含每个字段名称的指针数组 返回值,成功返回0,失败返回-1
注:回调函数是一种编程模式,在这种模式中,一个函数(我们称之为“回调函数”)作为参数传递给另一个函数(通常是库函数或系统函数)。当后者(接收函数)在某个特定的时刻(比如完成某个任务、遇到某个条件、或者需要外部数据输入时)需要执行一些操作时,它会调用这个回调函数。这种机制允许用户自定义处理逻辑,并将其无缝地集成到现有的系统或库中,而无需修改这些系统或库的源代码。
实现功能(增删改查):
不使用回调函数执行SQL语句
int sqlite3_get_table( sqlite3 *db, const char *sql, char ***resultp,int *nrow, int *ncolumu,char **errmsg)
函数参数:
功能:执行sql操作
db:数据库句柄
sql:sql语句
resultp:用来指向sql执行结果的指针
nrow:满足条件的记录的数目
ncolumn:每条记录包含的字段数目
errmsg:错误信息指针的地址
返回值:成功返回0,失败返回错误码
所使用的函数片段:
也能够实现同样的功能: