Windows 环境下使用 Qt 连接 MySQL
如果应用只需要连接远程数据库,那么本地不需要安装 MySQL,只需要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态连接库,把他们加入到 Qt安装目录5.9mingw53_32bin;默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Qt安装目录5.9mingw53_32pluginssqldrivers );两者如果配套就能成功地让 Qt 连接上 MySQL。 (我安装的Qt 版本是 Qt 5.9.0 mingw53_32,文章中提到的一些路径是我本机上的路径,需要进行适当修改) 一、测试 Qt 与 MySQL 是否能正常连接 假设 Qt安装目录5.9mingw53_32bin&; 下已加入了 libmysql.dll 和 libmysqld.dll,进行以下测试。 •新建 Qt Widgets Application,修改 main.cpp 的代码为: #include "mainwindow.h" #include <QApplication> #include <QtSql> #include <QDebug> int main(int argc,char *argv[]) { QApplication a(argc,argv); MainWindow w; w.show(); //建立连接 QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); db.setPort(3306); db.setDatabaseName("mysql"); db.setUserName("root"); db.setPassword("yourPassword"); //设置数据库连接账号的密码 bool ok = db.open(); if(ok) qDebug()<<"OK"; else qDebug()<<"False"; return a.exec(); } •构建并运行项目,查看应用程序输出 二、添加 MySQL 的libmysql.dll、libmysqld.dll (注意:Qt msvc2015_64 可以使用32 安装 MySQL 可以去官网下载安装包,不过我不太喜欢这样做,因为现在 MySQL 的安装组件太多太杂,很多东西都是不必要。推荐去一些开源镜像站上下载对应版本,比如说 Tuna、USTC。临时安装 MySQL 之后先不急着卸载,后面编译 MySQL 驱动会用到。 三、重新编译 qsqlmysql.dll、qsqlmysqld.dll 编译 Qt 关于 MySQL 的驱动需要用到 Qt 的源码,获取 Qt 的源码可以使用 MaintenanceTool.exe 下载 Src,编译驱动用到的工程文件路径为 Qt安装目录5.9Srcqtbasesrcpluginssqldriversmysql 。源码差不多有2G的大小,而编译驱动需要用到的工程文件大约几十M,要是存储空间和网速不给力,建议只下载 用 Qt 打开上面提到的编译驱动用到的工程文件,在 mysql.pro 末尾加上这两句: 构建并运行项目会在 C 盘下生成 pluginssqldrivers 目录,里面包含 qsqlmysql.dll、qsqlmysqld.dll 两个文件,将它们复制一份覆盖原先的两个文件即可。再次进行 Qt 与 MySQL 的连接测试,成功了没有? (编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |