windows下QT5.9連線MYSQL
阿新 • • 發佈:2018-11-30
首先,按照教程嘗試連線資料庫:
QSqlDatabase db = QSqlDatabase:: addDatabase( "QMYSQL");
QSqlDatabase db = QSqlDatabase:: addDatabase( "QMYSQL");
db.setHostName("localhost");
db.setPort(3306);
db.setDatabaseName("test");
db.setUserName("使用者名稱");
db.setPassword("密碼");
bool ok = db.open();
if (!ok)
{
qDebug()<<"連線失敗";
}
else
{
qDebug()<<"成功!";
}
執行報錯:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
連線失敗
意思大概就是:“QMYSQL驅動載入失敗”,“可用驅動有:QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL7”。
明明可用驅動中包含QMYSQL,為什麼會提示載入失敗呢?查看了一坨資料,總結了一下,應該是缺了載入mysql驅動時所需要的一些東西,導致載入失敗。
根據網上提供的方法:將mysql安裝目錄中的libmysql.dll檔案拷貝到QT安裝目錄下的bin目錄中就可以了:
將這三個檔案複製到D:\QT5.9\5.9.2\mingw53_32\bin路徑下,還是回報上邊的錯誤,沒辦法只能手動載入庫:
void loadSqlDriver()
{
QPluginLoader loader;
loader.setFileName("D:/QT5.9/5.9.2/mingw53_32/plugins/sqldrivers/qsqlmysqld.dll");
qDebug() << loader.load();
}
列印true,再嘗試連線資料庫就顯示連線成功了