前言:
如今朋友们对“vc访问mysql”都比较看重,朋友们都想要分析一些“vc访问mysql”的相关文章。那么小编也在网络上网罗了一些对于“vc访问mysql””的相关文章,希望你们能喜欢,兄弟们快快来学习一下吧!QT 6.2.2 与以前qt5.15编译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 buildcd build# 进入cmd, 调用VS环境进行构建cmd@REM 调用VS环境call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat"@REM configure(DEBUG)D:\alantop_dir\alantop_sde\QT\6.2.2\msvc2019_64\bin\qt-cmake.bat .. -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\libmysql.lib"@REM 构建(DEBUG)cmake --build .@REM 安装(DEBUG)cmake --install .@REM configure(RELEASE)D:\alantop_dir\alantop_sde\QT\6.2.2\msvc2019_64\bin\qt-cmake.bat .. -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\libmysql.lib" -DCMAKE_BUILD_TYPE=Release@REM 构建(RELEASE)cmake --build .@REM 安装(RELEASE)cmake --install .测试是否成功
拷贝C:\Program Files\MySQL\MySQL Server 8.0\lib\libmysql.dll到项目生成目录下。.
用qt建立新的工程,在工程文件里加入模块sql,选择使用qmake编译,编译器选vc2019
键入如下代码:
#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QSqlQueryModel>#include <QSqlDatabase>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{ Q_OBJECTpublic: 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 (db.open()==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视频教程
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #vc访问mysql #qt编译mysql驱动