使用QSqlDatabase类的open函数导致程序崩溃

magius 2015-08-21 11:23:42
qt5.5,qt creater3.4.2,32位win7。当使用QSqlDatabase类的open函数打开mysql数据库时,如果IP地址或者端口号不对,程序在经过一段比较长时间的等待后会崩溃,如果IP和端口号正确但是用户名密码错误,程序虽然不会崩但是open函数会返回true
求解。
代码如下

void connectDB()
{
QSqlDatabase *db;
bool b = 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(QException e)
{
b = false;
}
}
}
...全文
1252 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
magius 2016-10-20
  • 打赏
  • 举报
回复
答案是升级到5.6,这貌似是5.5的一个bug
CSND网管 2015-10-19
  • 打赏
  • 举报
回复
跪求楼主解决办法,我也是用的QT5.5,同样的问题。
magius 2015-08-23
  • 打赏
  • 举报
回复
用QT5.4就没这个问题,具体原因不清楚,也许是5.5的一个bug

16,212

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧