【问题标题】:QSqlDatabase open always returns true after updateQSqlDatabase open 更新后总是返回true
【发布时间】:2015-10-08 11:26:42
【问题描述】:

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

【问题讨论】:

    标签: mysql qt qt5.5 qt5.6


    【解决方案1】:

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

    【讨论】:

    • 非常感谢。这曾经/很烦人。在 5.5.0 和 5.6 上使用三个不同版本的 mysql(5.1、5.5、5.6)进行了尝试,但仍然得到相同的行为。我真的不知道为什么我没有找到错误报告。干杯。
    • onwhenready - 您能否详细说明应用补丁如何解决问题以及应用补丁的步骤?在我的应用程序中有完全相同的问题。 TIA
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-06
    • 2017-05-10
    • 2013-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多