欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

QSqlDatabase:QMYSQL driver not load 之Qt与MySQL连接报错的解决办法

程序员文章站 2022-06-06 14:05:29
...

1.错误情况

1.1 测试程序

QStringList drivers = QSqlDatabase::drivers();

    foreach (QString str, drivers) {
        //QDebug() << str << " " ;
        cout << str.toStdString() << endl;
    }

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");
    db.setUserName("root");
    db.setPassword("806102068");//密码多少806102068
    if (false == db.open())
    {
        QMessageBox::critical(NULL, tr("it is not connected database"), tr("it is not connected database"), QMessageBox::Cancel);
    }

安装Qt后,准备进行与MySQL数据库的测试,结果提示:

QMYSQL driver not load

QSqlDatabase:QMYSQL driver not load 之Qt与MySQL连接报错的解决办法
可见,除了MySQL数据库驱动,其他数据库驱动都已加载成功了:
QSqlDatabase:QMYSQL driver not load 之Qt与MySQL连接报错的解决办法

像这种错误,原因有很多.常见问题如下:

  • MySQL是64位的,Qt是32位的;

  • MySQL是32位的.Qt是64位的;

  • MySQL数据库的版本太新,导致没有与Qt对应配套的libmysql.dll文件

1.2 错误总结

  • 不同版本的mysql里面包含不同的libmysql.dll, 不同的libmysql.dll必须和配套的qsqlmysqld.dll,qsqlmysql.dll一起才能正常工作.
  • MySQL的版本和Qt的版本需要一致.比如MySQL是32位的,这时Qt也必要要求是32位的.

2. 解决MySQL驱动加载问题

上一篇: 差距蛮大

下一篇: 加班