• 10463阅读
  • 4回复

sqlite在removeDatabase时收到警告connection 'qt_sql_default_connection' is still in use [复制链接]

上一主题 下一主题
离线laurentium
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-22
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2011-01-02) —
用removeDatabase函数关闭数据库时,收到警告
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.

请问有人遇到过吗?

另外用QSqlQuery查询是,是不是需要在query->exec()后面调用query->clear()函数?
如果是事务处理,是不是需要调用query->clear(), 是在query.exec("commit");之前调用还是之后调用呢? 谢谢~~
离线alexltr

只看该作者 1楼 发表于: 2011-04-04
我现在也遇到了同样的问题。
请问大侠后来是怎样解决的?
我也在往上查了很多相关资料,但是还是不得要领?
我不从事IT,只是喜欢Qt。
我不是程序员,只是与程序有缘。
我写程序,只是为了让工作变得简单有序!

                      ----  一个一直在入门的编程学习者
离线XChinux

只看该作者 2楼 发表于: 2011-04-04
在调用removeDatabase()之前,要先确认使用到该连接的相关变量都析构掉了。比如QSqlDatabae对象,要析构掉,QSqlQuery对象,要析构掉等等。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线mgrmhc

只看该作者 3楼 发表于: 2011-11-11
用指针指向
    QSqlDatabase *dbM ;
dbM =&QSqlDatabase::database("mysql");
离线mgrmhc

只看该作者 4楼 发表于: 2011-11-11
用指针,在removeDatabase时就不会报警告了,原因未知。如:
    QSqlDatabase *dbM ;
  dbM =&QSqlDatabase::database("mysql");
快速回复
限100 字节
 
上一个 下一个