嵌入式开发中sqlite3数据库的简单操作

来源:互联网 发布:ps相片软件下载 编辑:程序博客网 时间:2024/06/13 22:38

sqlite3是一种简单好用的数据库,小巧灵活,本质上就是个文件,在嵌入式开发中经常使用。

总结一下一些简单的接口:

首先,先制定一下数据库的格式,最简单的:Key - type - value(键值,数据类型,数据)为例:

const Type_sByte* openfmt = "CREATE TABLE cfg_tbl ( key TEXT PRIMARY KEY, type NUMERIC, value blob);";(键值,数据类型,数据)

那么,对应的增删改查:

const Type_sByte *insertfmt="INSERT INTO cfg_tbl (key,type,value) VALUES(?,?,?);";(插入新数据)

const Type_sByte* updatefmt = "UPDATE cfg_tbl set type=%d, value='%s' where key='%s';";(更新数据)
const Type_sByte* deletefmt = "DELETE FROM cfg_tbl where key='%s';";(删除数据)
const Type_sByte* selectfmt = "SELECT * FROM cfg_tbl where key = '%s';";(查找数据)

这些就可以作为数据库操作的命令的原形了~~~


然后呢,在文件系统中存放数据库,可以用system()函数生成该文件,然后生成操作数据库的句柄:sqlite3_open(D_CBOX_SQCFG_CONFIG, &sqhdl);

说明:参数1是数据库文件名,包含绝对路径的,参数二sqlite3 *sqhdl = NULL;获得句柄。


具体实现的时候就是用上边定义过的命令了,但是读写的时候因数据类型不一样得有点处理是酱婶儿的:

sqlite3_bind_XXX:XXX根据要存储的数据类型来定的,比如int,text,double,blob等。

sqlite3_column_XXX:这是查询数据用的,XXX也是要查询的数据类型。

数据库处理的套路是这样的:我要开始处理了,处理,处理完了,结束(每一步都对应着一个命令)。


锦上添花的文件加锁,更新文件后用sync同步什么的,可以尽量多考虑一些的。


原创粉丝点击