Qt5.X连接MySQL数据库

xingyun86 2018-6-23 1708

Qt 5.9 下连接 MySQL,可能会出现一个这个无法连接的错误

QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

解决办法如下:

根据 Qt版本不同 ,32 和 64 的 ,需要的驱动是不同的。无论 MySQL 是什么版本的,64 位 Qt 要用 64 位的 Mysql 驱动,32 位的 Qt 要用 32 位的MySQL 驱动。

我们需要把 /MySQL/lib (自己的 Mysql 安装目录在哪儿自己找)目录下的 libmysql.dll 拷贝到 / Qt/mingw53_32/bin 目录下面就可以了哦。

测试代码如下:

{
        QSqlDatabase    dbconn;
        QSqlQuery       query;
        dbconn = QSqlDatabase::addDatabase("QMYSQL");
        dbconn.setHostName("localhost");//主机名字
        dbconn.setDatabaseName("mysql");//数据库名字
        dbconn.open("root", "123456");//用户名、密码,成功返回1
        query = (QSqlQuery)dbconn;
        query.exec("select * from user");
        while(query.next())
        {
            int id = query.value(0).toInt();
            QString name = query.value(1).toString();
            qDebug() << QString::number(id) + " : "+ name;
        }
    }

测试结果为:

Debugging starts
"0 : root"
"0 : root"
"0 : root"
"0 : "

在进行 MySQL 操作之前,请确保 MySQL 服务已经开启。


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回