需求:

数据库的一张表里有10000条数据

一下子都读出来,页面会卡死。

之前上个项目用的方法是分页显示,数据库查询时加limit

这次情景不同,如果就必须要把数据都读出来。

那么可以用多线程,在子线程中查询数据,主线程可以弹出一个模态窗口进行提示,如“数据载入中”。

但是我按这个思路走下去,程序会出现偶发的崩溃。

去找原因时,猜测应该是因为由QSqlDataBase::addDatabase()生成的QSqlDatabase只能在创建它的线程中使用

qt数据库多线程问题的解决(QSqlDatabase只能在创建它的线程中使用)_qsqlite不支持多线程-CSDN博客

解决思路是:

如果希望在子线程中完成对数据库的查询操作,那么在子线程中重新添加一个新的连接名。

09-30 08:06