QT访问数据库:应用提示Driver not loaded
- 在QT中运行完全正确
- 错误截图
- 解决办法1
我用的是MySQL。我把libmysql.dll复制到应用程序的目录下,即可正常访问数据库。
- 解决办法2
bool open_work_db()
{
QString info = "support drivers:";
for (int i=0; i<QSqlDatabase::drivers().size(); i++)
{
info += "/"+QSqlDatabase::drivers().at(i);
}
QMessageBox::information(nullptr, "提示", info, QMessageBox::Ok);
QLibrary library1("sqldrivers\\qsqlite.dll");
if (!library1.load()) {
QMessageBox::information(nullptr, "提示", library1.errorString(), QMessageBox::Ok);
}
QLibrary library2("libmysql.dll");
if (!library2.load()) {
QMessageBox::information(nullptr, "提示", library2.errorString(), QMessageBox::Ok);
}
QLibrary library3("sqldrivers\\qsqlmysql.dll");
if (!library3.load()) {
QMessageBox::information(nullptr, "提示", library3.errorString(), QMessageBox::Ok);
}
return true;
}
检查加载情况。
- 解决办法3
MySqL路径未设。
此电脑,属性,高级系统设置,环境变量: