欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

windows10 下 QT 链接MySQL数据库

程序员文章站 2022-05-27 23:41:19
...

1.先编译qt中的mysql源码生成库文件

安装MySQL,SQLyog辅助可视化工具。MySQL的bin添加到系统环境变量中。

开始之前,先将编译器的路径添加到系统环境变量。

windows10 下 QT 链接MySQL数据库

 

我的QT所以sql驱动是在下面这个目录中(大家在自己Qt的安装目录找到对应的文件夹就行,下面的路径也是如此),

E:\qt\5.13.2\mingw73_64\plugins\sqldrivers

MySQL的驱动文件是qsqlmysql.dll和qsqlmysqld.dll,带d的是debug版本,和下面的图片一样;

windows10 下 QT 链接MySQL数据库

打开文件夹下面的 mysql.pro,注释掉QMAKE_USE += mysql,如下

//QMAKE_USE += mysql

另外编译mysql驱动还需要mysql的头文件和库,因此在文件末尾加上以下代码,同样是找到自己的路径

INCLUDEPATH += "E:/Program Files/MySQL/include"
LIBS += "E:/Program Files/MySQL/lib/libmysql.lib"

接下来就可以开始编译了。
可以使用QT自带的命令行程序或者git bash,不要用cmd,它不能使用qmake,要用其他代替。

windows10 下 QT 链接MySQL数据库
首先要进入以下文件夹: 

E:\qt\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql

windows10 下 QT 链接MySQL数据库

在当前目录下,输入

qmake

如果报了下面的错:

No such file or directory

是因为没有qtsqldrivers-config.pri文件,那么可以返回上一级,执行qmake,如下:

cd ../
qmake

再返回到mysql目录中,qtsqldrivers-config.pri出现了。

然后继续

qmake
mingw32-make
mingw32-make release-install
mingw32-make debug-install

这四个命令完成后,驱动已经安装好了。

最后,把E:\Program Files\MySQL\lib 中的 libmysql.lib和libmysql.dll文件复制到 E:\qt\5.13.2\mingw73_64\bin 即可。

2.测试 安装是否成功

在pro文件中加入  QT+= sql

#include "widget.h"
#include "ui_widget.h"
#include <QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QtDebug>

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    qDebug() << QSqlDatabase::drivers();

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    db.setDatabaseName("mysql");
    db.setUserName("root");
    db.setPassword("你的密码");
    bool ok = db.open();

    if (ok)
    {
        qDebug() << "ok";
    }
    else
    {
        qDebug() << "no";
    }

}

Widget::~Widget()
{
    delete ui;
}

打印ok则链接成功 。