在Qt5中,提供了QtSql模块,使用数据库驱动和不同的数据库接口进行通信。由于Qt的SQL模型接口是独立于数据库的,所有数据库的接口代码都包含在这些驱动中。Qt默认支持一些驱动,也可以添加其他驱动。
今天在使用Qt模块类加载MYSQL数据库驱动的时候,发现编译输出报错:QSqlDatabase:QMYSQLdrivernotloaded错误。
我使用的Qt版本:5.12.3
上网百度后,了解到此版本默认不带MYSQL驱动。下文简单介绍下在QT中如何添加MYSQL数据库驱动的支持。首先,我们需要下载并安装好MYSQL数据库,安装步骤我们就不在这里赘述(文末可以获取MYSQL安装包和安装说明链接)。
在安装好MYSQL后,我们打开QT安装目录下D:\Qt\Qt5.13.0\5.13.0\Src\qtbase\src\plugins\sqldrivers\mysql\mysql.pro工程。(根据个人实际Qt安装路径此路径会有所不同)重新配置工程文件(如图所示)
接着编译此工程项目,我们会在安装Qt的磁盘根目录下发现生成D:\plugins\sqldrivers文件夹
(注:安装musql为32位,使用mingw32bit编译)
测试
新建QT工程,编写测试代码:
输出信息:
可以看到Qt5中已经可以检测到QMYSQL模块了,但是虽然可以检测到QMYSQL驱动模块,但是上面报错还是无法正确加载。
解决方法:
首先到MYSQL安装目录下,拷贝libmysql.dll拷贝到QT指定编译器路径下。
重新构建项目后,我们可以看到可以不会再报错加载失败。
有兴趣的朋友可以