Qt数据库removeDatabase注意事项
本文于2015天之前发表,文中内容可能已经过时。
起源:最近在研究一个项目, 其中用到了数据库,在数据库断开重连时会给出警告,经过一系列尝试终于搞定,网上找的方法大多数都是抄来抄去,很是无语…
警告示例
内容为:
1 | QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work |
如下图所示
解决方案
- 在每一次数据库打开时先把原有连接关闭,
- 特别值得注意的是,在打开失败时也要关闭连接
核心代码如下
1 | bool connectDataBase(QString dbName, QString type, |
PS
一般不会遇到该问题,除非是多次打开重连,一般在使用时只需要使用局部变量保存database就行了,不过笔者遇到的情况比较特殊,恩,效果还是不错的….
PPS
- Qt遇到问题时,首先参照自带例子
- 尝试到Stack Overflow上去找答案
- 搜索引擎首推google,但是如果你不会科学上网还是将就用必应吧
赏
支付宝打赏
微信打赏
您的支持是我前行的动力!