sqlite相对其他的数据库而言,算是轻量级的数据库,它没有服务器,像sql server oracle等,等是需要服务器的,有的时候写一点小东西,或者单机版的程序非得在机器上安装一个服务器也是非常郁闷而不情愿的。
在QT5之前,使用sqlite都需要首先安装驱动(记得QT4的时候是拷贝sqlite的几个动态链接文件就算作是安装驱动了),但从QT5开始已经自带了sqlite的驱动了。也就是说使用sqlite将更加便利了。也就是说,我们要开发一个使用sqlite数据库的程序,只需要四步:
1、加载sqlite驱动;
2、设置数据库文件名称
3、打开数据库;
4、使用QSqlQuery执行相关操作。
应该说是相当的容易,因为每一个步骤就一句话完成。我们来举一个“栗子”,假设我们有一个数据库文件名为dbfile.db的数据库文件(其中有一个salary的表),我们按照以下的代码来才做它:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("dbfile.db");
db.open();
QSqlQuery query;
query.exec("select * from product");
while(query.next())
{
QString id= query.value(0).toString();
QString name = query.value(1).toString();
qDebug()<<name;
qDebug()<<id;
}
这里就完成了一个表的遍历了。几行代码而已,加之QT相对微软的VC和C#使用数据库更简单,所以小型的程序使用QT加sqlite来做数据保存是一个不错的选择。
特别注意:
1、在QT中使用数据库,必须在Pro文件中的QT描述行加上sql如下图:
2、使用数据库必须添加他们的头文件集
#include <QSqlDatabase>
#include <QSqlQuery>
这两点是在写代码之前完成,否则你代码中与数据库相关的类和关键字都不能别QT识别,编译出错。
3、初步现实查询结果
我们的数据文件中的有一个product的表,执行的效果如下:
如果我们想现实在表格中,那么我们需要进一步了解表格tableview的操作,效果大概如下,
有关视图的显示我们在下一篇中进行介绍。本文并不打算长篇大论讲述QT如何操作sqlite,更复杂的内容在后续的文章中进一步阐释。
下一篇
本文的实例代码下载链接