问题:qt中QSqlQuery::exec: database not open

参考博客:解决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 *...");
相关推荐
小码哥06814 分钟前
【附源码】货运搬家系统前端开发:Vue.js与高德地图集成指南
数据库·物流管理·货运系统·搬家系统
b***594324 分钟前
MySQL数据库(SQL分类)
数据库·sql·mysql
2***635524 分钟前
MS SQL Server 实战 统计与汇总重复记录
数据库·oracle
r***869836 分钟前
MySQL 8.0安装
数据库·mysql·adb
g***727039 分钟前
使用Dify访问数据库(mysql)
数据库·mysql
i***279541 分钟前
MySQL 常用 SQL 语句大全
数据库·sql·mysql
X***C8621 小时前
Redis开启远程连接
数据库·redis·缓存
IndulgeCui1 小时前
KingbaseES 数据库与用户默认表空间深度解析
数据库·sql·mysql
v***91301 小时前
DVWA靶场通关——SQL Injection篇
数据库·sql
学c菜鸟鸟1 小时前
漏洞知识——sql注入(二)
数据库·sql·oracle