1

操作系统:win7 编译器:mingw4.8(Qt5.2 附带)链接到:Fedora 核心版本 5,内核 2.6.15-1.2054_FC5 smp on an i686

    db = new QSqlDatabase();
    db->addDatabase("QMYSQL");
    db->setHostName("localhost");
    db->setDatabaseName("myclinic");
    db->setUserName("root");
    db->setPassword(",trth12");  

    qDebug() << loader.errorString();
    qDebug() << "drivers: "<< QSqlDatabase::drivers();

    if (db->open())
        qDebug() << "Success!";
    else
        qDebug() << db->lastError().text();

消息

QSqlDatabase:未加载 QMYSQL 驱动程序 QSqlDatabase:可用驱动程序:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL 7 “未找到共享库。” 驱动程序:(“QSQLITE”、“QMYSQL”、“QMYSQL3”、“QODBC”、“QODBC3”、“QPSQL”、“QPSQL7”)

“未加载驱动程序未加载驱动程序”</p>

4

3 回答 3

2

您似乎缺少 Windows 上的 mysql 插件或正确的 mysql 安装本身,在这种情况下,您需要通过在插件 QtSql 驱动程序可以识别的系统上安装所有必要的 mysql 库来完成此操作。

该插件应该在 plugins/sqldrivers 文件夹下作为 dll 提供。您也可以将其放入应用程序旁边的 sqldrivers 文件夹中,如下所示:

- yourapplication.exe
- sqldrivers/qsqlmysql4.dll

您需要以某种方式抓住它,或者自己构建它。这是文档中如何执行此操作的说明:

如何在 Windows 上构建 QMYSQL 插件

您需要获取 MySQL 安装文件。运行 SETUP.EXE 并选择“自定义安装”。安装“库和包含文件”模块。如下构建插件(这里假设 MySQL 安装在 C:\MySQL 中):

cd %QTDIR%\src\plugins\sqldrivers\mysql
qmake "INCLUDEPATH+=C:\MySQL\include" "LIBS+=C:\MYSQL\MySQL Server <version>\lib\opt\libmysql.lib" mysql.pro
nmake

如果您没有使用 Microsoft 编译器,请将上面一行中的 nmake 替换为 make。

不过,您的代码还有另一个问题。对于 mysql 数据库,您应该使用“127.0.0.1”而不是“localhost”。

于 2014-01-09T07:43:58.000 回答
0

感谢您的回答,但问题不是因为我缺少 qsqlmysql.dll 而是我没有 libmysql.dll(看起来这个 dll 不附带 win7)。

这是一个视频,向您展示如何安装mysql

于 2014-01-10T05:03:26.097 回答
0

我和你有同样的铅

解决方案是:

Qt MySQL 驱动程序已经在 Qt5 中(但不是在以前的版本中!)

您只需要应用程序 exe 旁边的“libmysql.dll”(或在 windows 目录中!)您可以在“mysql\mysqlX.X.XX\lib\opt”目录中找到“libmysql.dll”。

如果 Qt MySQL 驱动程序未找到 libmysql.dll 错误与未找到驱动程序相同...

下一次的好机会!

于 2014-03-04T11:31:58.420 回答