最近指导一个项目,看了一下他们写的软件源码,其中有对数据库的使用。由于上一个项目中我们使用了MySQL,可能因为惯性,这个项目中他们仍然使用了MySQL。根据需求,预测项目中产生的数据量非常小,并且使用环境力求简单,所以我建议他们换成SQLite轻型数据库。
我接触使用SQLite3也有几年时间了,Android上使用的java接口、树莓派上使用的python接口等等,但是好像还没有用过C\C++的接口。这个项目还是采用MFC框架编写,因此正好使用一下SQLite3的C\C++接口,写了一个简单的类封装,给他们做个演示。
由于很简单,所以先直接把封装的类贴出来
1 | // // SQLite.h file |
1 | // SQLite.cpp file |
1 | // 使用方式 |
由于官网没有现成的 .h .lib .dll 三件套,要用的话需要自己去编译,好在官网提供了编译好的 .dll .def 两件套,所以我用显示调用DLL动态库的方式使用SQLite3。
为了方便调用DLL里面的函数,我将SQLite3内的主要函数封装成一个类CSQLite,并简单封装出了三个函数:
open(const char*)打开或建立数据库query(const char*, SQL_callback select_callback =NULL ,void *para=NULL);执行sql语句以及处理查询结果close()关闭数据库
目前来看,这个类足以满足项目的需求了。
最后来看一下效果吧