Qt连接MySQL的问题

    科技2022-07-17  106

    错误信息提示

    QSqlDatabase: QMYSQL driver not loaded //无法加载驱动 QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7

    解决方式

    补充注:1.MySQL的安装路径不能有空格,搞了我半天之前。2.在你项目的pro文件中加一行 QT +=sql 开始之前先说明一下我的工具版本,我用的是Qt 5.12.2、MySQL 8.0.21 64位版本。其中Qt安装时的勾选条目如下:

    打开文件: #键入以下代码,可直接复制 TARGET = qsqlmysql HEADERS += $$PWD/qsql_mysql_p.h SOURCES += $$PWD/qsql_mysql.cpp $$PWD/main.cpp #QMAKE_USE += mysql OTHER_FILES += mysql.json win32:LIBS += -LD:/application/MySQL/lib/ -llibmysql #注意是你自己MySQL的路径 INCLUDEPATH += D:/application/MySQL/include #下同 DEPENDPATH += D:/application/MySQL/include PLUGIN_CLASS_NAME = QMYSQLDriverPlugin include(../qsqldriverbase.pri) 上面的三个路径就是你自己的MySQL中的bin和include输入如下代码测试 #include <QApplication> #include<QMessageBox> #include<QSqlDatabase> #include<QDebug> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); qDebug()<<"available drivers:"; QStringList drivers = QSqlDatabase::drivers(); foreach(QString driver, drivers) qDebug()<<driver; //打开MySQL QSqlDatabase data_base = QSqlDatabase::addDatabase("QMYSQL"); data_base.setHostName("localhost"); //设置主机地址 data_base.setPort(3306); //设置端口 data_base.setDatabaseName("test"); //设置数据库名称 data_base.setUserName("root"); //设置用户名 data_base.setPassword("123456"); //设置密码 if(!data_base.open()) qDebug()<<"failed to connect to mysql"; else qDebug()<<"success"; return a.exec(); }

    成功访问数据库!

    Processed: 0.009, SQL: 8