QT5.15.1连接MySQL8.0.23数据库

windows10系统下:

1.首先安装好Mysql数据库,我用的是解压版的,设置数据库密码那些自行百度;
在这里插入图片描述
2.添加环境变量: 控制面板\系统和安全\系统\高级系统设置\环境变量\选中Path路径点击编辑\把mysql的bin目录添加进来
在这里插入图片描述
3.数据库安装好后安装QT5.14.1(我的版本),安装时需要勾选sources这个选项;
注意:安装的数据库是64位还是32要与QT安装的是64位还是32要一致;

在这里插入图片描述
4.打开QT安装目录下的mysql.pro文件
E:\QT\5.15.1\Src\qtbase\src\plugins\sqldrivers\mysql

在这里插入图片描述
修改成:

TARGET = qsqlmysql

HEADERS += $$PWD/qsql_mysql_p.h
SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp

#注释掉下面这行
#QMAKE_USE += mysql

OTHER_FILES += mysql.json

#添加下面这两行
#mysql的头文件路径
INCLUDEPATH += $$quote(E:\MySQL\mysql-8.0.23-winx64\include)
#mysql的库文件路径
LIBS += -L$$quote(E:\MySQL\mysql-8.0.23-winx64\lib) -lmysql

PLUGIN_CLASS_NAME = QMYSQLDriverPlugin
include(../qsqldriverbase.pri)

修改qsqldriverbase.pri

QT  = core core-private sql-private

# For QMAKE_USE in the parent projects.
#注释掉下面这行
#include($$shadowed($$PWD)/qtsqldrivers-config.pri)

PLUGIN_TYPE = sqldrivers
load(qt_plugin)

DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII

5.点击小锤子编译,报错了不要管它.然会在QT安装的那个磁盘中生成plugins这个文件
在这里插入图片描述
6.打开E:\plugins\sqldrivers这个文件把里面
qsqlmysql.dll和qsqlmysql.dll.debug文件拷贝到QT的
E:\QT\5.15.1\mingw81_64\bin这个目录中

在这里插入图片描述
7.重启QT建立一个项目测试连接数据库
注意:首先要确保mysql数据库的打开的

#include "widget.h"
#include<QDebug>
#include<QSqlDatabase>
#include<QSqlError>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    //打印QT支持的数据库驱动,没有MYSQL的情况下要自行安装驱动
    qDebug()<<QSqlDatabase::drivers();

    //添加数据库
    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");


    db.setHostName("localhost");//本地主机IP和"127.0.0.1"一样
    
    db.setPort(3306);//默认端口
    
    db.setPassword("mysql_password");//数据库密码
    
    db.setUserName("root");//用户名
    
    //注意:需要在MySQL中先创建一个数据库才可以
    db.setDatabaseName("my_database");//连接的数据库

    if(db.open()==false){
        qDebug()<<db.lastError().text();
    }else{
         qDebug()<<"数据库连接成功!";
    }
}

Widget::~Widget()
{
}

在这里插入图片描述
完美连接成功,朋友你成功了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值