参考博客:解决QSqlQuery::exec: database not open-CSDN博客
参考博客:QSqlQuery 如何与数据库 QSqlDatabase 关联 保持连接-3YL的博客
发现问题来源于:
当: QSqlDatabase::addDatabase("QSQLITE","自定义连接名");中,使用了自定义连接名之后,
会出现能正常连接数据库,但是查询时,会提示:
QSqlQuery::exec: database not open
这种情况就是查询失败了,查找问题来自于:
QSqlQuery query,一般在使用默认连接名的时候,才可以使用空的构造函数。
但是如果出现了上述的情况,已经修改了默认连接名时,此时需要对默认构造函数进行赋值处理
dbConName = QSqlDatabase::addDatabase("QSQLITE","自定义连接名");
// 不能用空构造函数,会提示 database not open
QSqlQuery query(dbConName);
query.exec("select *...");