博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
'qt_sql_default_connection' is still in use
阅读量:6370 次
发布时间:2019-06-23

本文共 2038 字,大约阅读时间需要 6 分钟。

出现这个告警是因为打开了多个db而没有及时关闭,网上搜了答案是使用完了执行

QSqlDatabase::removeDatabase(m_connectionName);

泄漏的问题有所改善,但点快了仍然有问题,研究了自己的代码才发现,原来自己每次 query时都open一下,即使每次查完后都关闭也来不及的。

将open 和 close函数放在构造和析构中执行;问题解决;

openSQL

 

void Worker::openDatabase(){    QDateTime dateTime = QDateTime::currentDateTime();    QString m_dbName = "zzz";    m_connectionName = "m_dbName";    m_connectionName += dateTime.toString("_yyyyMMdd_hhmmss");    m_db = QSqlDatabase::addDatabase("QMYSQL", m_connectionName);    if  (!m_db.isValid()) {        qDebug()<<"openDatabase not valid";        return ;    }    m_db.setHostName("localhost");    m_db.setUserName("root");    m_db.setPassword("root");    m_db.setDatabaseName(m_dbName);    if (!m_db.open()) {        qDebug()<<"openDatabase not open";        return ;    }    m_query = new QSqlQuery(m_db);}

 

closeSQL

 

 

void Worker::closeDatabase(){    if(m_query != NULL )    {        delete m_query;        m_query = NULL;    }    if (m_db.isValid()) {        if (m_db.isOpen())            m_db.close();        m_db = QSqlDatabase::database("", false);        QSqlDatabase::removeDatabase(m_connectionName);    }    qDebug()<<"closed;";}

 

最后是工作函数

void Worker::slot1(){    QString str = "delete from test where id > 300000 ";    QString str1 = "UPDATE test SET content = 'Checked' WHERE content = 'Wilson' ";    QString str2 = "update test set content = 'zero.' where content > '10000' ";    qDebug()<<"3 slots1  : "<
exec(str3); globalVar++; } m_query->exec(str1); m_query->exec(str2); m_query->exec(str); m_db.commit(); qDebug()<<"Time Elapsed: "<
<<" ms";#if 0 while(m_query->next()) //query.next()指向查找到的第一条记录,然后每次后移一条记录 { int ele0 = m_query->value(0).toInt(); QString ele1 =m_query->value(1).toString(); QString ele2 = m_query->value(2).toString(); qDebug() << ele0 <
<

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1, Developing utilities.

2, Wellknown linuxc

3,. wellknown qt

 

 

 

 

 

===================================

 

转载于:https://www.cnblogs.com/iamgoodman/p/4302807.html

你可能感兴趣的文章
雅虎前段优化35条
查看>>
(转)接口100
查看>>
UIScrollView 大概是如何实现的,它是如何捕捉、响应手势的?
查看>>
asp.net MVC中实现调取web api
查看>>
keepalived实现服务高可用
查看>>
iOS模型以及使用
查看>>
NSString 去除空格
查看>>
swift - 网络请求数据处理 - 协议处理
查看>>
[BZOJ1588]营业额统计(Splay)
查看>>
[BZOJ 4869][SHOI&SXOI2017]相逢是问候(扩展欧拉定理+线段树)
查看>>
2017-08-13
查看>>
条件语句优化面面观
查看>>
集成友盟微信登录没有回调
查看>>
在CentOS Linux系统上,添加新的端口,启用ssh服务
查看>>
dbcp数据库连接池简单使用
查看>>
leetcode-38-Count and Say
查看>>
从零开始写一个node爬虫(上)—— 数据采集篇
查看>>
java调用远程服务器shell脚本
查看>>
贪吃蛇
查看>>
Elixir 1.2带来多项功能增强和性能提升
查看>>