首页 新闻 会员 周边

fedora 20 下的QT 5.5.1 数据库连接问题

0
悬赏园豆:10 [已解决问题] 解决于 2019-04-29 17:05

使用QT内部类连接数据库之后无法跨文件使用数据库。
如我在 sql.h 中设置了打开数据库函数,在main.cpp文件中调用打开数据库函数。之后再mainwindow使用数据库操作的时候,显示未连接数据库。
具体:
使用QSqlQuery query;
完全无法使用,报错显示没有连接数据库
使用QSqlQuery query(数据库对象名);
只能在同一文件中打开数据库,然后使用。
现在的使用方法:
不断在不同的文件中打开数据库-使用-关闭数据库
尝试过的解决办法:
使用static
使用extern

矛盾人的主页 矛盾人 | 初学一级 | 园豆:192
提问于:2019-04-27 20:13
< >
分享
最佳答案
0

这都是局部变量,这个函数操作完这个对象就释放了,连接就关了

收获园豆:10
2012 | 高人七级 |园豆:21230 | 2019-04-28 08:34

这个我也明白,我不理解的是为什么我使用QSqlQuery query的时候必须加对象名(db1)
是QT版本的问题吗?我看了两个类似的例子,都是可以不需要对象名的。
我现在是想弄一个只打开一次数据库,然后随意使用,不必再重复连接,打开,关闭。这样操作的方法。
还有谢谢啊。

矛盾人 | 园豆:192 (初学一级) | 2019-04-28 11:10

@矛盾人: 你操作必然要先设置db,QSqlQuery query;使用这种方式,你不是构造函数,那也需要先设置db才行

2012 | 园豆:21230 (高人七级) | 2019-04-28 11:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册