舞蹈培训机构网站建设,简单的网站开发的软件,济南集团网站建设流程,哪些网站做黑名单【 声明#xff1a;版权所有#xff0c;欢迎转载#xff0c;请勿用于商业用途。 联系信箱#xff1a;feixiaoxing 163.com】 编写软件的时候#xff0c;如果用户的数据比较少#xff0c;那么用json保存是非常方便的。但是一旦数据量大了之后#xff0c;建议还是用数据库…【 声明版权所有欢迎转载请勿用于商业用途。 联系信箱feixiaoxing 163.com】 编写软件的时候如果用户的数据比较少那么用json保存是非常方便的。但是一旦数据量大了之后建议还是用数据库来进行管理比较好。数据库在增、删、改、查这方面还是比较好用的。目前有一种小型的开源数据库sqlite特别适合大家来使用。它是嵌入在软件程序里面的。和mysql不一样mysql是单独一个数据库服务器。 1、qt对sqlite的支持 本身qt可以直接访问sqlite数据库引用头文件的时候直接输入QtSql即可如下所示
#include QtSql/QtSql 2、链接时的注意事项 默认qt是没有把QtSql的lib放入到链接库当中的所以这部分需要自己手动来完成如下所示 3、测试方法 首先我们可以创建一个简单的qt widget工程。在界面部分不需要再做任何的修改所以也就不需要designer的参与。代码部分呢可以编写一个loadDB的类函数。在这个类函数里面为了测试sqlite的功能我们可以做一些增、删、改、查的操作如果所有的操作都是ok的那就代表测试代码是正确的、没问题的。 4、loadDB函数的编写 测试的过程基本是这样的。首先利用QSqlDatabase创建一个data.db的数据库。有了这个数据库之后打开数据库。接下来用QSqlQuery进行第一个操作就是创建一张mytable的表。有了表之后我们就可以插入数据、查询数据、更改数据、查询数据、删除数据、查询数据总共是6个动作。所有动作都做完毕之后就可以关闭数据库了。在数据库操作的过程当中还可以通过qDebug打印的办法来判断操作是否正确。qDebug打印的地方就在输出窗口里面如下所示 整个测试的源代码是这样的
int QtWidgetsApplication::loadDB()
{// create databaseQSqlDatabase db QSqlDatabase::addDatabase(QSQLITE);db.setDatabaseName(data.db);// open databaseif (!db.open()) {qDebug() Error: Unable to open database;return 1;}// execute queryQSqlQuery query;// create a tableif (!query.exec(CREATE TABLE IF NOT EXISTS mytable (id INTEGER PRIMARY KEY, name TEXT))) {qDebug() Error: Unable to create table;return 1;}// insert dataif (!query.exec(INSERT INTO mytable (name) VALUES (John Doe))) {qDebug() Error: Unable to insert data;return 1;}// query dataif (query.exec(SELECT * FROM mytable)) {qDebug() Records in mytable:;while (query.next()) {int id query.value(0).toInt();QString name query.value(1).toString();qDebug() ID: id Name: name;}}else {qDebug() Error: Unable to fetch data;return 1;}// update dataif (!query.exec(UPDATE mytable SET nameJane Doe WHERE id1)) {qDebug() Error: Unable to update data;return 1;}// query data after updateif (query.exec(SELECT * FROM mytable)) {qDebug() Records in mytable after update:;while (query.next()) {int id query.value(0).toInt();QString name query.value(1).toString();qDebug() ID: id Name: name;}}else {qDebug() Error: Unable to fetch data;return 1;}// delete dataif (!query.exec(DELETE FROM mytable WHERE id1)) {qDebug() Error: Unable to delete data;return 1;}// query after deleteif (query.exec(SELECT * FROM mytable)) {qDebug() Records in mytable after delete:;while (query.next()) {int id query.value(0).toInt();QString name query.value(1).toString();qDebug() ID: id Name: name;}}else {qDebug() Error: Unable to fetch data;return 1;}// close connection of databasedb.close();
} 有兴趣的同学可以按照这个流程完整地走一遍。这样就可以在后面的项目中灵活使用sqlite了。一般项目中使用到的业务要复杂一点也有可能不止一张表但是对数据库操作的逻辑都是这样的没有什么区别。整体来说sqlite的学习还是比较方便、比较简单的十分适合用于上位机的开发和应用。