Qt5连接MySQL8教程

Qt5连接MySql8的步骤

我的Qt是5.14.2 64位版本;mysql是8.0.25 64位版本。都已经安装好了。

  1. 进入mysql安装目录C:\IDE\mysql8\mysql-8.0.25-winx64\lib,找到libmysql.dll,如图。

    在这里插入图片描述

  2. 然后把它拷贝到qt目录D:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin下,如图。
    在这里插入图片描述

  3. 在qt的安装目录D:\Qt\Qt5.14.2\5.14.2\Src\qtbase\src\plugins\sqldrivers\mysql中找到mysql.pro,如下图所示。
    在这里插入图片描述

  4. 然后使用Qt Creator打开它,打开如下图。
    在这里插入图片描述

  5. 修改mysql.pro工程文件,修改如下:

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h

SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

# 取消注释在项目中使用 MySQL 库(一定要注释掉!!!)
# QMAKE_USE += mysql

OTHER_FILES += mysql.json

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin

include(../qsqldriverbase.pri)

# 设置找到自己【mysql安装目录下的include目录】的路径,编译时会在此路径下查找头文件
INCLUDEPATH += C:/IDE/mysql8/mysql-8.0.25-winx64/include

# 设置自己【mysql库文件的路径和库名称(在mysql安装路径下找到lib目录)】。
# 编译时会在指定路径下查找 MySQL 库文件,并链接到 -lmysql 库
LIBS += -LC:/IDE/mysql8/mysql-8.0.25-winx64/lib -lmysql

# 设置目标文件夹【方便mysql项目编译运行之后自己查找mysql动态连接库】
DESTDIR = C:/Users/kailin/Desktop/test33/

注意事项:

  • 一定要注释掉QMAKE_USE += mysql;
  • 自己mysql的安装路径千万不要写错了;
  • 目标文件夹看自己,在那里方便就新建在那里;
  1. 配置运行,注意版本要匹配,mysql是64位的,那么对应的qt也必须是64位的。如图所示。

在这里插入图片描述

  1. 点击执行,之后如果不报错,那么会打开如下窗口。
    在这里插入图片描述

  2. 不用管它,我们先找到我们自己的新建的目标文件夹去查看,是否生成了mysql动态链接库。找到C:/Users/kailin/Desktop/test33/,查看,一共生成了三个文件,如图。
    在这里插入图片描述

  3. 把这三个文件拷贝到qt数据库引擎目录下,比如D:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\sqldrivers,拷贝之后如图所示。
    在这里插入图片描述

  4. 新建qt工程,验证qt是否与mysql连接成功了。工程目录如图所示。
    在这里插入图片描述

widget.h头文件中引入相关依赖。

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QtSql/QSqlDatabase>
#include <QDebug>
#include <QMessageBox>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;



};
#endif // WIDGET_H

wiget.cpp中编写测试代码。

#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    
    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); //这里使用的是MySQL的驱动类型,其他驱动类型可以参考Qt的帮助手册
    db.setHostName("127.0.0.1");//localhost
    db.setPort(3306);           //默认端口
    db.setDatabaseName("qt_db"); //用户自建数据库名称
    db.setUserName("root");     //用户名
    db.setPassword("root1234!");   //数据库的密码(如果使用的是MySQL,那就是你登录账号的那个密码)
    bool ok = db.open();        //定义一个标志量,返回数据库连接状态
    if (ok){
        QMessageBox::information(this, "infor", "success");
    }
    else {
        QMessageBox::information(this, "infor", "open failed");
    }
}

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

运行项目,会弹出一个信息框提示,如图所示,表示连接成功。

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值