若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141637721
长沙红胖子Qt(长沙创微智科)博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…)
Qt开发专栏:各种问题解决(点击传送门)
问题
关于QSqlDatabase无法提交事务,QSqlDriver不支持事务操作的问题。
解决过程
1.定位事务的执行单条语句是否正确,单独跑插入,确认每条正确(测试两条);
2.检查前一个产品版本事务,确认正确,发现其使用odbc,因为后面为了优化改用了mysql编译驱动的方式;
3.单独拎出来,避免数据库打开失败,其他操作影响,单独只事务插入测试:
执行逻辑如下:
至此,确认就是transaction()无法开启事务这个问题导致的。
4.二次代码确认驱动:
原因
直接使用Qt的mysql对应驱动编译连接数据库,本次环境版本相关是无法使用事务,但是通过ODBC桥接是可以的。
解决方法
使用手动方式进行事务
测试结果:
若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/141637721