更新后,QSqlDatabase open始终返回true

时间:2015-10-08 11:26:42

标签: mysql qt qt5.5 qt5.6

将Qt从5.5更新到5.6 QSqlDatabase:open始终返回true - 即使主机不可访问和/或用户名/密码/数据库设置设置为无意义。

测试代码:

QSqlDatabase* db = new QSqlDatabase(QSqlDatabase::addDatabase("QMYSQL", "TESTCONNECTION"));
db->setHostName(ip);
db->setPort(port);
db->setUserName(user);
db->setPassword(pwd);
db->setDatabaseName(dbName);
db->setConnectOptions("MYSQL_OPT_CONNECT_TIMEOUT=4");
bool ok = db->open();

我针对最新的mysql版本(5.6.x)编译了Qt sql库。

1 个答案:

答案 0 :(得分:4)

这实际上是一个报告错误:QSqlDatabase::open always returns true with QMYSQL。该页面显示它已于15/9/15上午7:03解决,并在版本5.5.1中实施,但这是在5.6 alpha release之前,即8月/ 9月15日,所以解释为什么它还没有修复你的版本。