问题: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 *...");
相关推荐
麦聪聊数据12 小时前
数据服务化时代:企业数据能力输出的核心路径
数据库
shushangyun_12 小时前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化
DARLING Zero two♡13 小时前
【MySQL数据库】数据类型与表约束
数据库·mysql
曹牧13 小时前
Oracle EXPLAIN PLAN
数据库·oracle
BD_Marathon13 小时前
SQL学习指南——视图
数据库·sql
活宝小娜13 小时前
mysql详细安装教程
数据库·mysql·adb
贤时间13 小时前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心14 小时前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Database_Cool_14 小时前
即席查询(Ad-Hoc)数据库选型:AnalyticDB MySQL 秒级 Ad-Hoc 分析方案
数据库·mysql