qt编译数据库MySQL插件

目录

1 qt安装

2 MySQL安装

3 编译MySQL插件

 4 下载mysql-connector-c-6.1.11-winx64

 4 Qt代码连接数据库

5 打包


1 qt安装

qt5.15.2安装时,必须要勾选Source选择,如果没有需要重新安装。现在基本都安装64位的了吧,我使用64位。安装完成后如下图所示

 

2 MySQL安装

MySQL有多种安装方式及方法,我使用绿色版方式安装。

 

 我安装在C盘,安装好之后的数据如下所示

 

3 编译MySQL插件

找到Qt MySQL插件的源码,目录C:\Qt\5.15.2\Src\qtbase\src\plugins\sqldrivers\mysql

 打开项目文件mysql.pro

 修改项目文件

 LIBS:指定的本地 mysql 动态库路径和动态库的名字
-L:指定库的路径
-l 指定库的名字,不需要写后缀,对应的文件全名为 libmysql.dll
INCLUDEPATH 和 DEPENDPATH:指定的是本地 mysql 的头文件目录

 修改完毕之后再编译,编译成功之后,生成的库文件在安装 Qt 所在盘符下 plugins 目录中

需要把生成的这几个文件拷贝到 Qt 编译套件对应的目录下

 4 下载mysql-connector-c-6.1.11-winx64

下载64位绿色版本

 解压后文件

  目录中的libmysql.dll 和libmysql复制到QT安装路径中的mingw81_64/bin文件夹中。

 4 Qt代码连接数据库

新建工程,添加以下代码

 

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QSqlDatabase>
#include <QMessageBox>
#include <QSqlDatabase>
#include <QSqlError>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    QStringList list = QSqlDatabase::drivers();
        qDebug() << list;

        QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
        if(db.isValid())
        {
            QMessageBox::information(this, "conn", "ok");
        }
        else
        {
            QMessageBox::information(this, "conn", "error");
        }
        db.setHostName("192.168.8.251"); // 本地连接
        db.setPort(3306);       // 如果使用的是默认端口可以不设置
        db.setUserName("root");	// 数据库用户名
        db.setPassword("Wks@xzky"); // 数据库密码
        db.setDatabaseName("windtunnel"); // 数据库名字
        if(db.open())
        {
            QMessageBox::information(this, "打开数据库", "数据库打开成功, 可以读写数据了......");
        }
        else
        {
            QString msg = "数据库打开失败: " + db.lastError().text();
            QMessageBox::information(this, "打开数据库", msg);
        }
}

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

编译运行

5 打包

猜测打包还会遇到问题的,等打包的时候再解决

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值