首页| 论坛| 消息

标题:removeDatabase: connection 'mysqlLocal' is still in use, all queries will cease to work.
作者:介农酥
日期:2019-06-20 10:59
内容:

这条报警有办法消除吗?
自己网上看了,也没有消除。


#1 [XChinux 06-20 11:51]
在退出程序之前,调用removeDatabase()删除连接
在调用removeDatabase()删除连接之前,销毁该连接的所有数据库相关类实例
#2 [介农酥 06-20 13:05]
怎么才算清掉所有相关的实例?
#include "dialog.h"
#include
#include
#include
#include
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QSqlDatabase db;
db = QSqlDatabase::addDatabase("QMYSQL", "mysqlLocal");
db.setHostName("127.0.0.1");
db.setDatabaseName("express_plc");
db.setUserName("remoteuser");
db.setPassword("8ik,9ol");
if (!db.open()) {
qDebug()
#3 [XChinux 06-20 15:24]
比如db这个实例对象需要销毁
所以,你上面的代码,要么db改成指针形式,在调用removeDatabases()之前delete db
或者,让db作用域在调用removeDatabases()之前失效。
比如
{
QSqlDatabase db;
.....
}
QSqlDatabase::removeDatabases(....);
#4 [spygg 06-24 20:09]
最近刚好遇到这个问题,几经尝试终于解决详见我的博客
我的博客
#5 [介农酥 07-01 15:50]
谢谢!

<< 1 2 >> (1/2)

回复 发表
主题 版块