您的位置 首页 > 数码极客

如何使用Qt操作mysql

QT 6.2.2 与以前q编译mysql的方法大不一样,以前是通过pro工程编译,新版的是要通过cmake编译mysql。具体编译过程如下:

准备工作

安装qt 6.2.2

官方下载地址:

安装mysql 8.0.27

官方下载地址 :

下载 420m的安装包

安装vs 2019 专业版

官方安装地址:


编译安装过程

准备工作安装好以后,按照如下提示键入代码即可。

以管理员身份进入powershell

# 进入源码目录 cd D:\alantop_dir\alantop_sde\QT\6.2.2\Src\qtbase\src\plugins\sqldrivers # 准备工作 mkdir build cd build # 进入cmd, 调用VS环境进行构建 cmd @REM 调用VS环境 call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvar; @REM configure(DEBUG) D:\alantop_dir\alantop_sde\QT\6.2.2\msvc2019_64\bin\q .. -G Ninja -DCMAKE_INSTALL_PREFIX="D:\alantop_dir\alantop_sde\QT\6.2.2\msvc2019_64" -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmy; @REM 构建(DEBUG) cmake --build . @REM 安装(DEBUG) cmake --install . @REM configure(RELEASE) D:\alantop_dir\alantop_sde\QT\6.2.2\msvc2019_64\bin\q .. -G Ninja -DCMAKE_INSTALL_PREFIX="D:\alantop_dir\alantop_sde\QT\6.2.2\msvc2019_64" -DMySQL_INCLUDE_DIR="C:\Program Files\MySQL\MySQL Server 8.0\include" -DMySQL_LIBRARY="C:\Program Files\MySQL\MySQL Server 8.0\lib\libmy; -DCMAKE_BUILD_TYPE=Release @REM 构建(RELEASE) cmake --build . @REM 安装(RELEASE) cmake --install .

测试是否成功

拷贝C:\Program Files\MySQL\MySQL Server 8.0\lib\libmy到项目生成目录下。.

用qt建立新的工程,在工程文件里加入模块sql,选择使用qmake编译,编译器选vc2019

键入如下代码:

#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QSqlQueryModel> #include <QSqlDatabase> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACE class Widget : public QWidget { Q_OBJECT public: Widget(QWidget *parent = nullptr); ~Widget(); void connectDB(); QSqlDatabase db; QSqlQueryModel model; private: Ui::Widget *ui; }; #endif // WIDGET_H


#include "widget.h" #include "ui_widget.h" #include <QSqlDatabase> #include <QDebug> #include <QMessageBox> #include <QSqlError> Widget::Widget(QWidget *parent) : QWidget(parent) , ui(new Ui::Widget) { ui->setupUi(this); connectDB(); } Widget::~Widget() { delete ui; } void Widget::connectDB() { qDebug() << QSqlDatabase::drivers(); db = QSqlDatabase::addDatabase("QMYSQL"); db.setHostName("127.0.0.1"); db.setUserName("root"); db.setPassword("123"); db.setDatabaseName("world"); if ()==true) { qDebug() << "ok"; } else { QMessageBox::warning(this, "fail", db.lastError().text()); } model.setQuery("select * from city"); ui->tableView->setModel(&model); }


调试可以输出 QList("QSQLITE", "QMARIADB", "QMYSQL", "QODBC", "QPSQL") ,读取到数据库,即可代表成功。


qt 6.2.2 用vc2019 编译MySQL 8.0.27编译视频:


qt5系列配置文档和视频

QT 5.15.2 配置MySQL 8.0 文档

QT5.15.2 配置mysql 8.0视频教程

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何使用Qt操作mysql”边界阅读