使用sqlite3的API接口 需要加头文件 #include
编译时,需要连接sqlite3的库 -lsqlite3
1.打开数据库文件的函数int sqlite3_open(const char *filename, /* Database filename (UTF-8) */sqlite3 **ppDb /* OUT: SQLite db handle */ );功能:打开一个数据库文件如果存在就直接打开 不存在就新建并打开参数:filename 数据库文件名ppdb 操作数据库的指针,句柄。返回值:成功 SQLITE_OK失败 错误码 2.获取错误信息的函数const char *sqlite3_errmsg(sqlite3* db);功能:获取错误信息描述 最后一次出错的信息3.关闭数据库文件的函数int sqlite3_close(sqlite3* db);功能:关闭一个数据库4.执行sql语句的函数int sqlite3_exec(sqlite3* db, const char *sql, int (*callback)(void*,int,char**,char**),void *arg, char **errmsg);功能:执行一条sql语句参数:db 数据库的句柄指针sql 将要被执行sql语句callback 回调函数,只有在查询语句时,才使用arg 给回调函数callback 传参的 只有在查询语句时才给回调函数传参errmsg 错误信息的地址注意,如果使用了最后一个参数,使用完之后需要手动调用sqlite3_free释放空间返回值:成功 SQLITE_OK出错 错误码
----------------关于sqlite3_exec的回调函数--------------------int (*callback)(void* arg, int ncolumn, char** f_value,char** f_name)功能得到查询结果参数:arg 为回调函数传递参数使用的ncolumn 记录中包含的字段的数目f_value 指向包含每个字段值的指针数组的指针f_name 指向包含每个字段名称的指针数组的指针返回值:成功 0出错 非05.查询数据库的函数int sqlite3_get_table( sqlite3 *db, const char *zSql, char ***pazResult, int *pnRow, int *pnColumn, char **pzErrmsg);//PS:要配合void sqlite3_free_table(char **result);功能:查询数据库,它会创建一个新的内存区域来存放查询的结果信息不再使用结果集时 需要调用 sqlite3_free_table 来释放参数:db 数据库操作句柄sql 数据库的sql语句azResult 查询的结果nRow 不包含表头的行数nColumn 列数errmsg 错误消息如果使用了 及得使用 sqlite3_free 释放返回值:成功 0出错 errcode6.释放sqlite3_get_table产生的结果集void sqlite3_free_table(char **result);