Bootstrap

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路径未设。

此电脑,属性,高级系统设置,环境变量:

;