问题: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 *...");
相关推荐
倔强的石头_1 小时前
连接数失控排查:从数据库会话、应用线程池到连接池泄漏
数据库
hzxpaipai2 小时前
企业官网技术架构拆解:前端、后台、数据库、服务器如何协同
前端·数据库·架构
爱吃火鸡面呀2 小时前
MySQL DQL 子查询详解:从标量、列、行到表子查询的完整实战
大数据·数据库·mysql
harmony&3 小时前
OpenStack 云平台管理实战:从 Keystone 认证到 Nova 计算调度
数据库·openstack
betazhou3 小时前
Apache Seatunnel 抽取Oracle数据库测试
数据库·oracle·apache·seatunnel
devilnumber5 小时前
Oracle 与 MySQL substr 函数差异总结
java·数据库·mysql·oracle
—Miss. Z—5 小时前
计算机等级考试三级数据库技术—选择题
数据库·mysql
www_aiyuanma_vip5 小时前
PC 手机电商(MySQL 版)
数据库·mysql·智能手机
Databend5 小时前
AI 时代的数据工程挑战:从复杂链路走向统一数据底座
大数据·数据库·云计算