sqlite操作总结(一)

来源:互联网 发布:北京亚信数据有限公司 编辑:程序博客网 时间:2024/05/16 18:28

sqlite是一款轻量级的数据库,提供了C/C++的API,在嵌入式领域应用广泛。我是在Linux下利用sqlite的源码编译成动态库,在我的代码里直接调用sqlite的接口,非常易于使用。

简单列举几个常用的接口,网上的资料都有,而且也很容易使用

int sqlite3_open(const char *filename, sqlite3 **ppDb );

创建数据库接口,如果filename表示的数据库存在,则打开该数据库;返回值为SQLITE_OK表示操作成功,否则应该查看返回值检查错误原因。通过ppDb返回操作数据库的指针。

int sqlite3_close(sqlite3 *ppDb);

关闭数据库,返回SQLITE_OK表示操作成功

int sqlite3_exec(    sqlite3* ppDb,                                const char *sql,                               int (*callback)(void*,int,char**,char**),     void *,                                        char **errmsg                              );

第2个sql表示要执行的sql语句,sql的写法和其他数据库基本相同;

第3个参数表示sqlite3_exec执行成功后调用的回调函数,用以返回得到的数据,该回调函数需要用户实现,当不需要回调时,我们一般填上NULL,如insert和delete操作都不需要回调通知上层,通常是执行select语句才需要通过回调返回数据;

第4个参数是要传入回调函数的参数,如果不需要这个参数则直接填上NULL;

第5个参数是用以得到错误信息,如果sqlite3_exec执行失败,除了会返回一个错误码外,还可以通过errmasg直接打印出错误信息。

下面说明一下sqlite3_exec的回调函数:

int (*callback)(void*,int,char**,char**), 

第1个参数void*是我们要传入的参数,根据具体的场景决定是否传入这个参数;

第2个参数int表示返回的字段个数,就是该条记录的列数;(从这里可以看出,每检索到一条记录都会调用一次回调函数)

第3个参数表示每个字段的值;

第4个参数表示字段名。

0 0
原创粉丝点击