加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 创业 > 正文

Windows 情形下行使 Qt 毗连 MySQL

发布时间:2020-12-30 14:35:59 所属栏目:创业 来源:网络整理
导读:假如应用只必要毗连长途数据库,那么当地不必要安装 MySQL,只必要找到 MySQL 提供的 libmysql.dll 和libmysqld.dll 两个动态毗连库,把他们插手到 Qt安装目次5.9mingw53_32bin;默认 Qt 自带已编译好的 qsqlmysql.dll 和 qsqlmysqld.dll (文件路径为 Q

假如应用只必要毗连长途数据库,那么当地不必要安装 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();
 }

•构建并运行项目,查察应用措施输出
假如输出 OK,那到此为止了,Qt 与 MySQL 毗连正常;假如输出 False,不出不测是由于 libmysql.dll、libmysqld.dll 与 qsqlmysql.dll、qsqlmysqld.dll版本不匹配!必要对 qsqlmysql.dll、qsqlmysqld.dll 举办修改。

二、添加 MySQL 的libmysql.dll、libmysqld.dll

(留意:Qt msvc2015_64 可以行使32
位、64 位版本的 MySQL 文件,Qt mingw53_32 只能行使 32 位版本的MySQL 文件)
之条件到,假如应用只必要毗连长途数据库,那么当地不必要安装 MySQL,而只必要用到 MySQL 提供的动态毗连库 libmysql.dll 和 libmysqld.dll。那么假如不安装MySQL,怎么获取那两个动态链接库文件?可以这样做:
•从已安装了 MySQL 的呆板上拷贝这两个文件。
•当地姑且安装 MySQL,然后保存下必要的文件,卸载 MySQL。

安装 MySQL 可以去官网下载安装包,不外我不太喜好这样做,由于此刻 MySQL 的安装组件太多太杂,许多对象都是不须要。保举去一些开源镜像站上下载对应版本,好比说 Tuna、USTC。姑且安装 MySQL 之后先不急着卸载,后头编译 MySQL 驱动会用到。

三、从头编译 qsqlmysql.dll、qsqlmysqld.dll

编译 Qt 关于 MySQL 的驱动必要用到 Qt 的源码,获取 Qt 的源码可以行使 MaintenanceTool.exe 下载 Src,编译驱动用到的工程文件路径为 Qt安装目次5.9Srcqtbasesrcpluginssqldriversmysql 。源码差不多有2G的巨细,而编译驱动必要用到的工程文件约莫几十M,要是存储空间和网速不给力,提议只下载
qtbase-opensource-src-5.9.0.zip,必要的工程在 qtbase-opensource-src-5.9.0srcpluginssqldriversmysql 。

用 Qt 打开上面提到的编译驱动用到的工程文件,在 mysql.pro 末端加上这两句:
INCLUDEPATH += mysql安装目次include
LIBS += -Lmysql安装目次lib -llibmysql

构建并运行项目会在 C 盘下天生 pluginssqldrivers 目次,内里包括 qsqlmysql.dll、qsqlmysqld.dll 两个文件,将它们复制一份包围原先的两个文件即可。再次举办 Qt 与 MySQL 的毗连测试,乐成了没有?

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读