Qt 操作数据库报错:QSqlDatabase: QSQLITE driver not loaded

在解决了Clion + Qt的数据库问题后《Clion + Qt 添加SQLite数据库》,又遇到了新的问题,在运行程序时,出现QSqlDatabase: QSQLITE driver not loaded错误

使用下面语句输出支持的数据库,会输出空

qDebug() << "sql drivers" << QSqlDatabase::drivers();

最后发现,在添加了Sql模块后,是不够的,还需要将相关动态链接库拷贝到应用程序运行路径下。

解决方案

首先,去Qt的安装路径下,进入plugins文件夹
我的Qt plugins路径

E:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins

找到sqldrivers文件夹,直接把这个文件夹拷贝到可执行程序的路径下。不是在工程目录下,(当然,不同环境可能也有差异)比如我这里使用的是Clion编写的Qt程序,路径就是cmake-build-debug
在这里插入图片描述
在这里插入图片描述
再次运行,那条语句就会输出(因为我只保留了qsqlite.dll文件)
在这里插入图片描述

注意

虽然上述已经说过了,但自己也测试过,单独把qsqlite.dll动态库文件拷贝到程序根路径是不行的,必须在sqldrivers文件夹下。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/no_say_you_know/article/details/123782107#comments_28526446
今日推荐