使用QSqlDatabase类的open函数导致程序崩溃
16lz
2021-01-22
qt5.5,qtcreater3.4.2,32位win7。当使用QSqlDatabase类的open函数打开mysql数据库时,如果IP地址或者端口号不对,程序在经过一段比较长时间的等待后会崩溃,如果IP和端口号正确但是用户名密码错误,程序虽然不会崩但是open函数会返回true
求解。
代码如下
voidconnectDB()
{
QSqlDatabase*db;
boolb=true;
*db=QSqlDatabase::addDatabase("QMYSQL","dbLine");
db->setDatabaseName("dbName");
db->setHostName("10.10.250.100");
db->setPort(3306);
db->setUserName("strUser");
db->setPassword("strPWD");
if(!db->isOpen())
{
try
{
b=db->open();
}
catch(QExceptione)
{
b=false;
}
}
}
用QT5.4就没这个问题,具体原因不清楚,也许是5.5的一个bug
求解。
代码如下
voidconnectDB()
{
QSqlDatabase*db;
boolb=true;
*db=QSqlDatabase::addDatabase("QMYSQL","dbLine");
db->setDatabaseName("dbName");
db->setHostName("10.10.250.100");
db->setPort(3306);
db->setUserName("strUser");
db->setPassword("strPWD");
if(!db->isOpen())
{
try
{
b=db->open();
}
catch(QExceptione)
{
b=false;
}
}
}
3 个解决方案
#1
用QT5.4就没这个问题,具体原因不清楚,也许是5.5的一个bug
更多相关文章
- 如何在php imap函数中看到看不见的电子邮件
- MySQL 自定义函数.txt
- 如何在产品和类别应用程序树中将1个表连接到(2个不同的表作为一个
- mysql 中使用聚合函数sum()后出现很长的小数
- oracle中decode函数 VS mysql中的if函数和case函数
- PHP和MySQL ACID程序设计
- MySQL学习笔记(十二)运算符和函数一
- 在我的sql中调用触发器中的函数
- MySQL 转换函数与运算符