QT連接MySQL失敗(本人QT版本:5.12.5)
一、報錯結果
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
二、報錯原因
- 缺少MySQL驅動(qsqlmysql.dll,qsqlmysql.dll)
- 有時候有驅動但缺少庫(libmysql.lib)
三、解決方法
這里本人只提供一種相對簡單的解決方法,不需要將 qsqlmysql.dll,qsqlmysql.dll,libmysql.lib這三個檔案找過來找過去,復制來復制去的,有的還找不到,不方便,
步驟一:下載ODBC(作用類似于中間件,作為連接 qt 與 Mysql 之間的橋梁)
官網:https://dev.mysql.com/downloads/connector/odbc/


步驟二:安裝ODBC
雙擊運行,點擊next --> I Agree --> next --> ...就是正常安裝,默認就行
步驟三:運行ODBC
3.1、如果各位MYSQL資料庫里面已經有建好的資料庫的話,那就更簡單了,下面是本人MYSQL資料庫里面的內容;下圖圖中里面的紅字標注,可以先不管

3.2、點擊 “開始” --> 搜索 “ODBC” --> 即可找到剛剛安裝的ODBC程式 --> 點擊運行 (如果想要新建資料庫的話,那直接從3.2開始)

3.3、運行 ODBC 資料源

3.4、點擊完成后,出現下面界面,大家跟著填好就行,非常簡單

3.5、至此那就OK了,接下來在QT中測驗連接MYSQL資料庫
步驟四:QT中測驗連接MYSQL資料庫
4.1、正常創建一個QT工程

4.2、先打開 xx.pro
QT += sql
4.3、打開 main.cpp ,按著我的填就可以了
#include "widget.h"
#include <QApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QDebug>
#include <QSqlError>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
// Widget w;
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
db.setHostName("127.0.0.1"); // db.setHostName("localhost"); // 也可以
db.setDatabaseName("你的"); // 對應 Data Source Name 里面的內容
db.setUserName("你的用戶名");
db.setPassword("你的密碼");
db.setPort(3306); // 如果沒有修改過埠號的話,那就可寫可不寫
bool ok = db.open();
if (ok){
qDebug() << "資料庫打開成功!";
}
else {
qDebug() << "資料庫打開失敗";
qDebug() << "error open database because" << db.lastError().text();
}
// w.show();
return a.exec();
}
4.4、ctrl + R 運行程式

是不是很簡單,記得點個贊吧,謝謝啦!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/544934.html
標籤:其他
