如何在 Qt 应用程序中连接到 MySQL 服务器

Posted

技术标签:

【中文标题】如何在 Qt 应用程序中连接到 MySQL 服务器【英文标题】:How to connect to a MySQL server in a Qt application 【发布时间】:2016-02-03 16:39:24 【问题描述】:

我需要在一个Qt应用程序中连接一个mysql服务器,所以我写了如下代码:

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("xxx");
    db.setUserName("xxx");
    db.setPassword("xxx");
    db.setDatabaseName("xxx");
    db.open();

不幸的是,当我尝试直接从 Qt Creator 运行此代码时,它在 addDatabase 函数调用之后给我以下错误:

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

我尝试打印最后一个错误代码:

qDebug() << db.lastError().text();

输出

"Driver not loaded Driver not loaded"

当然,我在同一台计算机上安装了 MySQL 服务器。

为什么?我究竟做错了什么?我该如何解决?

【问题讨论】:

【参考方案1】:

您有一些事情需要检查。检查这些帖子,也许它们对你有帮助。

http://www.qtcentre.org/threads/55365-QSqlDatabase-QMYSQL-driver-not-loaded-but-available

QMYSQL driver available but not loaded

【讨论】:

我已经看过了。不幸的是,我没有 libmysqlclient.dll,只有它的静态版本(.lib 文件)。我还尝试将整个sqldrivers 目录复制到debug 文件夹,但没有帮助 你有 qmyssql.dll 吗? 是的,在sqldrivers目录下 我认为问题在于您没有libmysql.dll。认为有时 .lib 文件只是应用程序和 .dll 之间的“桥梁”。看看这个,也许你以前没见过seppemagiels.com/blog/create-mysql-driver-qt5-windows 我已经把 libmysql.dll 放到了可执行文件的附近和 sqldrivers 目录中

以上是关于如何在 Qt 应用程序中连接到 MySQL 服务器的主要内容,如果未能解决你的问题,请参考以下文章

如何在 QT 或 windows API 中连接到无线 WIFI 网络? [关闭]

如何在 Python 中连接到 MySQL 数据库?

如何在 Python 中连接到 MySQL 数据库?

如何在 Python 中连接到 MySQL 数据库?

如何在 Python 中连接到 MySQL 数据库?

无法在 php 中连接到 mysql 8