Qt连接MySQL数据库提示Driver not loaded
Qt5.9+MySQL5.6
Qt中连接数据库代码如下(ui->setupUi(this)之后的部分):
// 打印QT支持的数据库驱动
qDebug()<<QSqlDatabase::drivers();
// 添加MySQL数据库
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("127.0.0.1");
db.setUserName("root");
db.setPassword("123456");
db.setDatabaseName("mysql"); //使用该数据库
//打开数据库
if(!db.open())
{
// 数据库打开失败
QMessageBox::warning(this,"error",db.lastError().text());
return;
}
之后运行提示错误信息:
原因:缺少libmysql.dll文件
该文件位于MySql安装目录下,例:
“C:\Program Files\MySQL\MySQL Server 5.6\lib”
将该文件复制到qt安装的编译器目录下,例:
“C:\Qt\Qt5.9.1\5.9.1\msvc2017_64”
我采用VS2017作为编译器,故最终放在该目录下:
“C:\Qt\Qt5.9.1\5.9.1\msvc2017_64\bin”
若选择别的编译器则应放到对应目录中。
随后在Qt中重新编译,正常通过。