Qt+Mysql数据库(云端)问题解决汇总
2021/11/6 2:10:30
本文主要是介绍Qt+Mysql数据库(云端)问题解决汇总,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.环境问题解决
在不同平台下最常见问题MYSQL driver not loaded
win:
可以简单理解driver缺少的问题是相关库缺少的问题, qsqlmysql.dll 与 qsqlmysqld.dll 或是 libmysql.dll与libmysql.lib。
QT:MYSQL driver not loaded解决方法 - ShineLe - 博客园0、参考(按对本人帮助从高到低排列) Qt5.14.1 如何编译和使用mysql和mariadb数据库驱动 (15条消息) QMYSQL driver not loaded 的原理和解决办法_m158https://www.cnblogs.com/ShineLeBlog/p/14908927.html
linux:
通常百度给的解决方案,需要so文件版本号一致,如果不一致就要重新编译了。
解决Ubuntu环境下,Qt无法连接MySQL问题_LiuCH4NG的博客-程序员秘密 - 程序员秘密https://cxymm.net/article/m0_43404560/95322519
树莓派:
好解决一行命令解决
【树莓派】Qt连接Mysql出现:QSqlDatabase: QMYSQL driver not loaded_weixin_38226447的博客-CSDN博客我的qt驱动目录:/usr/lib/arm-linux-gnueabihf/qt5/plugins/sqldrivers,但只发现libqsqlite.so修改这个文件夹权限:sudo chmod -R 777 /usr/lib/arm-linux-gnueabihf/qt5/plugins/sqldrivers把Qt5.9.1的.so文件copy进去,再运行。...https://blog.csdn.net/weixin_38226447/article/details/104230523
2.插入速率优化
(1) 多次插入,不要单次插入,例如,一次插入多条数据
(2) 开启事务机制,一般数据库默认自动提交,提交一次,开启关闭一次事务,我们可以在当前代码中直接开启事务插入多条,速率有明显提升。
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.transaction(); //执行插入操作 db.commit();
(3) 执行批处理操作 execBatch()
QString sql = "INSERT INTO heartbreath(RadarName,heart,OutHeart,breath,OutBreath) " "VALUES(?,?,?,?,?)"; QVariantList vlist_ip; QVariantList vlist_heart; QVariantList vlist_outheart; QVariantList vlist_breath; QVariantList vlist_outbreah; QSqlQuery query; query.prepare(sql); db.transaction(); int size = arr.count(); for(int i = 0; i< size; i++) { vlist_ip << arr[i].ip; vlist_heart << arr[i].heart; vlist_outheart << QString::number(outHeart[i]); vlist_breath << arr[i].breath; vlist_outbreah << QString::number(outBreath[i]); } query.addBindValue(vlist_ip); query.addBindValue(vlist_heart); query.addBindValue(vlist_outheart); query.addBindValue(vlist_breath); query.addBindValue(vlist_outbreah); if(!query.execBatch()) { qDebug()<<query.lastError().text();//输出错误信息 } db.commit();
3.打包发布至平台找不到驱动解决
程序内部添加一句
QCoreApplication::addLibraryPath("./plugins");
若还是找不到,找相应编译器下对应plugins/sqldrivers,将该目录下的文件拷至发布文件夹下。
这篇关于Qt+Mysql数据库(云端)问题解决汇总的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-29阿里 Canal 实时同步 MySQL 增量数据至 ClickHouse 数据库
- 2024-05-24在Linux下管理MySQL的大小写敏感性
- 2024-04-26MySQL查出时间比实际晚8小时的解决方案
- 2024-04-01JPA不识别MySQL的枚举类型
- 2024-03-30mysql数据库表卡死解决方法
- 2024-03-15MySQL多数据源笔记5-ShardingJDBC实战
- 2024-03-11natural join mysql
- 2024-03-11关于VS2017,VS2015 中利用 EF使用Mysql 不显示数据源问题解决方案
- 2024-02-26mysql 阿里云xb后缀备份文件恢复-icode9专业技术文章分享
- 2024-02-22docker mysql 5.7