使用QT内部类连接数据库之后无法跨文件使用数据库。
如我在 sql.h 中设置了打开数据库函数,在main.cpp文件中调用打开数据库函数。之后再mainwindow使用数据库操作的时候,显示未连接数据库。
具体:
使用QSqlQuery query;
完全无法使用,报错显示没有连接数据库
使用QSqlQuery query(数据库对象名);
只能在同一文件中打开数据库,然后使用。
现在的使用方法:
不断在不同的文件中打开数据库-使用-关闭数据库
尝试过的解决办法:
使用static
使用extern
这都是局部变量,这个函数操作完这个对象就释放了,连接就关了
这个我也明白,我不理解的是为什么我使用QSqlQuery query的时候必须加对象名(db1)
是QT版本的问题吗?我看了两个类似的例子,都是可以不需要对象名的。
我现在是想弄一个只打开一次数据库,然后随意使用,不必再重复连接,打开,关闭。这样操作的方法。
还有谢谢啊。
@矛盾人: 你操作必然要先设置db,QSqlQuery query;使用这种方式,你不是构造函数,那也需要先设置db才行