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

qt中连接sqlite数据库提示QSQLITE driver not loaded解决办法(重要)_第1张图片

 

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

qt中连接sqlite数据库提示QSQLITE driver not loaded解决办法(重要)_第2张图片

 

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


里面包含这些文件

 qt中连接sqlite数据库提示QSQLITE driver not loaded解决办法(重要)_第3张图片

 

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

qt中连接sqlite数据库提示QSQLITE driver not loaded解决办法(重要)_第4张图片

 

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

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

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

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

你可能感兴趣的:(QT-笔记,编码日记,项目配置,迁移,编译,数据库,qt,sqlite)