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

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;

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

使用了QSqlDatabase数据库,报错:Driver not loaded_第1张图片


3.解决方法

  以下以release为例

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

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

使用了QSqlDatabase数据库,报错:Driver not loaded_第2张图片

        图2

 sqldrivers中的文件如下图所示:

 使用了QSqlDatabase数据库,报错:Driver not loaded_第3张图片

4.说明

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


你可能感兴趣的:(Qt5.4-VS2010开发)