qt中连接sqlite数据库提示QSQLITE driver not loaded解决办法(重要)

如下,经测试无效,最后发现是plugins文件夹找错位置了

Qt加载数据库时,数据库驱动必须放在sqldrivers文件夹下,

1、将Qt安装程序的plugins/sqldrivers路径复制到EXE文件同根目录下。

2、程序中添加以下代码
QString path = QDir::currentPath();
    QApplication::addLibraryPath(path+QString("/plugins"));
    QPluginLoader loader(path+QString("/plugins/sqldrivers/qsqlite4.dll"));

按如下方法最后成功

Driver not loaded Driver not loaded(QT打包后在别人的电脑上运行出现这个错误)解决方法
出现这个错误,导致的原因有很多,所以不妨先试试我找的这种解决方法,我也是试过了很多方法,这种方法也许不适合所有人的错误,但是方法特别简单,所以试一试也无妨,不会浪费太多时间,万一就一下解决了呢。可以节省很多不必要的试错。

 

以我的程序为例
一开始打完包的时候

 

第一步:找到你所使用的的编译器下对应的sqldriver文件夹
我的是在这个位置


里面包含这些文件

 

 

复制所有文件
粘贴到软件包的sqldrivers下
选择覆盖之前的文件
现在,把软件发到另一台电脑看看能否正常使用数据库了不
如果还是不行
那就把刚刚粘贴的文件在工程包外面也粘贴一下
像这样

 

然后,再去试试,可以正常使用了不,如果还不行
第二种方案:
试试下载32位的mysql ,然后取出bin目录下的libmysql.dll 和libmysql.lib放到安装目录的bin文件夹下,因为QT是32位的,我是还没试到这一步就成功了,用的64位的数据库。之所以推荐试一试是因为感觉说的有道理。

如果实在不行,也有可能是我用第一种方案的时候,动过sqldriver 的某些文件了,所以可以尝试在版本对应了还是不行的时候使用这个方法。

造成这个问题的原因大多情况是版本不匹配,所以可以多朝这个方向找找答案。

好了,希望能给各位带来帮助,节省宝贵时间。
 

QSqlDatabase是Qt框架用于访问数据库的类,而QSQLITE是其的一个数据库驱动程序。当你在使用QSqlDatabase连接SQLite数据库时,如果出现"QSQLITE driver not loaded"的错误提示,可能是由于以下几个原因: 1. 缺少SQLite驱动程序:你需要确保在使用QSqlDatabase之前,已经正确安装了SQLite数据库驱动程序。在QtSQLite驱动程序通常是作为一个插件提供的,你可以在Qt安装目录下的plugins/sqldrivers文件夹找到。如果没有找到该文件夹或者没有相应的插件文件(比如qsqlite.dll或libqsqlite.so),那么你需要重新安装Qt并确保选择了SQLite驱动程序的安装选项。 2. 驱动程序加载失败:即使安装了SQLite驱动程序,有时候也可能由于加载失败而导致"QSQLITE driver not loaded"错误。这可能是由于驱动程序文件路径配置不正确或者依赖库缺失等原因引起的。你可以尝试在代码添加以下语句来手动加载SQLite驱动程序: ```cpp QSqlDatabase::addDatabase("QSQLITE"); ``` 如果加载成功,那么你可以继续使用QSqlDatabase来连接SQLite数据库。 3. 运行时环境配置问题:在某些情况下,可能需要在运行时设置一些环境变量或者路径来确保正确加载SQLite驱动程序。具体的配置方式可能因操作系统和开发环境而异,你可以查阅相关文档或者搜索相关问题的解决方案。 希望以上信息对你有帮助!如果你还有其他问题,请继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值