Qt配置mysql8

Qt配置mysql8

本文提供Qt配置Mysql的所需文件如下:
链接:https://pan.baidu.com/s/1O2ZIcF4bkN7enU6Kg2e34A?pwd=6k9y
提取码:6k9y

在这里插入图片描述
libmysql.dll 和libmysql.lib是QT所需的动态和静态链接库;qsqlmysql.dll 和qsqlmysql.dll.debug是Qt所需的mysql驱动

1.设置Qt的MySQL 驱动

(1)将qsqlmysql.dll 和qsqlmysql.dll.debug放入D:\Tool\Qt5.12\5.14.2\mingw73_64\plugins\sqldrivers目录下(参考你自己Qt安装目录)如下图所示:
在这里插入图片描述
(2)Qt:测试已安装的驱动:
首先在对应Qt项目pro文件中设置Qt += sql 如下:

QT       += core gui sql

在这里插入图片描述
运行显示

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QtSql/QSqlDatabase"
#include "QtSql/QSqlQuery"
#include "QString"
#include "QMessageBox"
#include "QDebug"


MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{

    ui->setupUi(this);

    // 输出可用数据库
            qDebug()<<"available drivers:";
            QStringList drivers = QSqlDatabase::drivers();
            foreach(QString driver, drivers)
            qDebug()<<driver;
}

MainWindow::~MainWindow()
{
    delete ui;

}


void MainWindow::on_actionxinjian_triggered()
{

}

表明安装驱动正确!!!
在这里插入图片描述

2.设置Qt的MySQL 动态和静态链接库

libmysql.dll 和libmysql.lib放入D:\Tool\Qt5.12\5.14.2\mingw73_64\bin目录下
在这里插入图片描述

3.测试成功!!!

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QtSql/QSqlDatabase"
#include "QtSql/QSqlQuery"
#include "QString"
#include "QMessageBox"
#include "QDebug"

MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{

    ui->setupUi(this);

    // 输出可用数据库
    qDebug()<<"available drivers:";
    QStringList drivers = QSqlDatabase::drivers();
    foreach(QString driver, drivers)
        qDebug()<<driver;


    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");//首次需要添加数据库驱动(必须在main程序中),第二次只需QSqlDatabase::database("QMYSQL")(其他文件中,防止多次使用);
    db.setHostName("127.0.0.1");//设置ip
    db.setPort(3306);//端口号
    db.setDatabaseName("detect");//数据库名称
    db.setUserName("root");//用户名
    db.setPassword("root12345678");//密码
    QSqlQuery query = QSqlQuery(db);//db对象
    bool ok = db.open();//连接数据库
    if (db.open()){
        QMessageBox::information(this, "infor", "success");//成功
        qDebug()<<"success!!!";

    }
    else {
        QMessageBox::information(this, "infor", "open failed");
        qDebug()<<"error open database because";//失败
    }

}

MainWindow::~MainWindow()
{
    delete ui;

}


void MainWindow::on_actionxinjian_triggered()
{

}

测试结果
在这里插入图片描述

### 如何在 Qt配置和连接 MySQL 8 要在 Qt 中成功配置并连接 MySQL 8 数据库,需要完成以下几个方面的操作: #### 1. 准备工作 确保已正确安装 MySQLQt 开发环境。如果使用 Windows 平台,则需确认 MySQL 的架构(32 位或 64 位)与 Qt 架构相匹配[^2]。 #### 2. 复制 `libmysql.dll` 文件 找到 MySQL 安装目录下的 `lib/mysql/libmysql.dll` 文件,并将其复制到 Qt 的 `bin` 目录中。例如: - 如果 MySQL 路径为 `C:\Program Files (x86)\MySQL\MySQL Server 8.0\lib`, - 则将 `libmysql.dll` 文件复制至 `D:\Qt\Qt5.14.1\5.14.1\mingw73_32\bin` 或其他对应版本的路径下[^1][^3]。 #### 3. 修改 `.pro` 文件 编辑项目的 `.pro` 文件,添加以下内容以指定 MySQL 库的位置和头文件路径: ```plaintext INCLUDEPATH += D:/path/to/your/mysql/include LIBS += -LD:/path/to/your/mysql/lib -llibmysql ``` 其中,`D:/path/to/your/mysql/include` 是 MySQL 的头文件路径,而 `D:/path/to/your/mysql/lib` 是其动态链接库所在的路径[^4]。 #### 4. 编写代码实现数据库连接 以下是用于测试 MySQL 连接的一个简单示例程序: ```cpp #include <QCoreApplication> #include <QtSql/QSqlDatabase> #include <QtSql/QSqlError> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("localhost"); // 设置主机名 db.setUserName("root"); // 用户名 db.setPassword(""); // 密码 db.setDatabaseName("test_db"); // 数据库名称 if (!db.open()) { // 测试是否可以打开数据库 qDebug() << "Failed to connect:" << db.lastError().text(); return -1; } else { qDebug() << "Connected successfully!"; } return a.exec(); } ``` 此代码尝试通过 `QMYSQL` 驱动连接本地 MySQL 数据库实例。如果驱动未加载成功,请检查是否已完成上述步骤以及是否存在兼容性问题。 #### 5. Linux 下额外设置 对于基于 Ubuntu 的系统,可以通过以下命令来安装必要的依赖项和 MySQL 驱动: ```bash sudo apt-get update sudo apt-get install build-essential cmake qt5-default qtcreator libmysqlclient-dev ``` 这些命令会自动下载并安装所需的 C/C++ 工具链、Qt 默认组件以及其他支持模块[^5]。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值