多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
[TOC] > [参考](https://www.codenong.com/cs105387341/) ## 概述 不管是 mysql 还是 mariadb ,最好都先下载 mysql 的文件,如"mysql-5.7.29-winx64.zip" ## 教程 1. 解压 `mysql-5.7.29-winx64.zip`到 如"D:\mysql" 2. 进入`D:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\mysql`打开 mysql.pro 3. 在 mysql.pro 最后添加,并注释 `#QMAKE_USE += mysql` ``` #QMAKE_USE += mysql ... INCLUDEPATH += D:/mysql/include LIBS +=-LD:/mysql/lib/ -llibmysql DESTDIR= ../mysql/lib/ ``` 4. 修改 `qsqldriverbase.pri`,注释并添加 `include(./configure.pri)` ``` #include($$shadowed($$PWD)/qtsqldrivers-config.pri) include(./configure.pri) ``` 5. 点击构建,在 mysql/lib 下生成 4个文件,*.dll的文件放入`D:\Qt\Qt5.13.2\5.13.2\mingw73_64\plugins\sqldrivers` 或`D:\Qt\Qt5.13.2\5.13.2\msvc2017_64\plugins\sqldrivers` 6. 把解压的`libmysql.dll` 放到`D:\Qt\Qt5.13.2\5.13.2\mingw73_64\bin`或`D:\Qt\Qt5.13.2\5.13.2\msvc2017_64\bin` ## 测试 ``` #include "mainwindow.h" #include <QApplication> #include <QDebug> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> int main(int argc, char *argv[]) { QApplication a(argc, argv); qDebug()<<"QSqlDatabase::drivers()"<<QSqlDatabase::drivers(); QSqlDatabase db =QSqlDatabase::addDatabase("QMYSQL3"); db.setHostName("127.0.0.1"); db.setPort(3306); db.setUserName("root"); db.setPassword("root"); db.setDatabaseName("antdbms_aipu"); if(!db.open()){ qDebug()<<"open error "<<db.lastError(); db.close(); return 1; } QSqlQuery query(db); if(!query.exec("select * from hs_user")){ qDebug()<<"执行失败"<<query.lastError() <<query.lastQuery(); } while(query.next()){ qDebug()<<query.value(0).toString(); } return a.exec(); } ```