Qt:有驱动模块但 QMYSQL driver not loaded
如何确定自己有没有驱动模块Q?
bool MainWindow::isConnectedDB()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("car");
db.setUserName("root");
db.setPassword("12138");
if (!db.open()) {
QMessageBox::critical(this, "打开数据库失败!", db.lastError().text());
return false;
} else {
qDebug() << "success!\n";
return true;
}
}
如图,只要QSqlDatabase: available drivers:有QMySQL,就是,而且出现"QMYSQL driver not loaded",这时候有两条路。
(这个图里面没有QMySQL,是因为我改过来了不想继续折腾。。下面这张图是因为我改过来后,把原来64位改成32位得到的,上图也是)
一、第一条路:
重新编译qt的mysql动态链接库,注意,要根据你安装的mysql数据库中的libmysql.lib和.dll来作为外部的依赖。网上几乎全部都是这条路。