qt 5.2 使用mysql数据库,提示出错QSqlDatabase: QMYSQL driver not loaded

 

版权声明

本文为原创作品,请尊重作者的劳动成果。转载必须保持文章完整性,并以超链接形式注明原始作者“seven”和主站点地址,方便其他朋友提问和指正。

环境:

qt环境:qt-windows-opensource-5.2.0-mingw48_opengl-x86-offline.exe
mysql版本:appserv-win32-2.5.10.exe

(此安装包里的mysql版本是Server version: 5.0.51b-community-nt-log MySQL Community Edition (GPL),也可安装其他的mysql版本)

qt5.2使用数据库mysql:

//从MySql驱动程序中获取一个MySql数据库

    QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("127.0.0.1");//指定数据库服务器名称
    db.setDatabaseName("stuch"); //连接一个已存在的数据
    db.setUserName("root");      //设置登录名
    db.setPassword("123"); //设置登录密码
 
  
    //打开数据库连接
    if(db.open())
    {
        qDebug()<<"database is established!";
    }
    else
    {
        qDebug()<<"database is established error!";
        return a.exec();
    }


提示出错:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

build error!

解决:

1、安装好appserv-win32-2.5.10.exe 

2、在c盘搜索libmysql.dll
      会在C:\Windows\SysWOW64搜索到libmysql.dll和libmysql_d.dll
3、把这2文件复制到以下目录里

      C:\Qt\Qt5.2.0\Tools\mingw48_32\opt\bin     (此目录里已有libsqlite3-0.dll,所以qt默认支持sqlite)

4、重新启动qt creater

附:1、查找已加载的驱动和库路径方法:
qDebug()< qDebug()<

2、QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

说明Qt5.2版本已经包含mysql的驱动,不用自己编译(之前搜索到的资料都说要自己编译mysql驱动,看来新版不用这么麻烦)。

你可能感兴趣的:(Qt,数据库)