QSqlDatabase 在更新后总是打开 returns true

QSqlDatabase open always returns true after update

将 Qt 从 5.5 更新到 5.6 后 QSqlDatabase:open 始终 returns 正确 - 即使主机不可访问 and/or username/password/database 设置被设置为废话。

测试代码:

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 库。

这实际上是一个已报告的错误:QSqlDatabase::open always returns true with QMYSQL. The page shows that it was solved at 15/Sep/15 7:03 AM and implemented in version 5.5.1, but this however is before the 5.6 alpha release,它在 8/Sep/15,因此这解释了为什么它尚未在您的版本中修复。