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()
{
    
    

}

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

猜你喜欢

转载自blog.csdn.net/qq_44464101/article/details/126985148