使用了QSqlDatabase数据库,报错:Driver not loaded

来源:互联网 发布:代码重复率算法 编辑:程序博客网 时间:2024/05/14 03:30

1.环境

(1)已经安装了sqlite;

(2)qt-opensource-windows-x86-msvc2010_opengl-5.4.0.exe;

(3)使用vs2010来开发。


2.现象

若加入如下代码:

QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");

         db.setDatabaseName("scooters.dat");

         if (!db.open()) {

                   QMessageBox::warning(0,QObject::tr("DatabaseError"),

                            db.lastError().text());

                   returnfalse;

         }

         return true;

结果:编译通过,运行时报错如下:



3.解决方法

  以下以release为例

(1)去掉Qt5Core.dll即可;(不可取)

(2)在Qt安装路径下找到Qt5Sql.dll和sqldrivers文件夹,添加到运行路径下即可,如图2所示


        图2

 sqldrivers中的文件如下图所示:

 

4.说明

为了使得在开发机器(没有安装vs2010、Qt等)上运行,需要图2中那么多依赖文件且必须有,故方法一不可取


0 0
原创粉丝点击