qt Sqlite Driver not loaded.

写了一个SqliteHelper的demo.
打开,关闭和查询三个函数
运行之后提示找不到驱动的错误
图片说明

源码如下:
qt控制台程序
main.cpp

 #include <QCoreApplication>
#include <sqlitehelper.h>
#include <QDebug>

void SqliteDatabaseTest();

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);


    SqliteDatabaseTest();

    return a.exec();
}

void SqliteDatabaseTest()
{
    qDebug() << QSqlDatabase::drivers();

    SqliteHelper *sql_helper = new SqliteHelper();
    sql_helper->openDatabase();

    QString sql_command = "insert into ANPRInfo valuses(1,'民航A12345', 'D:\')";
    sql_helper->executeQuery(sql_command);

    sql_helper->closeDatabase();
    delete sql_helper;
}

sqlitehelper.h

 #ifndef SQLITEHELPER_H
#define SQLITEHELPER_H

#include <QSqlDatabase>
#include <QSqlError>
#include <QSqlQuery>


class SqliteHelper
{
public:
    SqliteHelper();

    QSqlDatabase database;
    QSqlQuery sql_query;

    void openDatabase();
    void closeDatabase();
    void executeQuery(QString sql_command);
};

#endif // SQLITEHELPER_H

sqlitehelper.cpp

 #include "sqlitehelper.h"
#include <QDebug>

SqliteHelper::SqliteHelper()
{
    if (QSqlDatabase::contains("qt_sql_default_connection"))
    {
        database = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        database = QSqlDatabase::addDatabase("QSQLITE");
        database.setDatabaseName("ANPRResults.sqlite");
        //database.setUserName("seenboom");
        //database.setPassword("seenboom");
    }
}

void SqliteHelper::openDatabase()
{
    if (!database.open())
    {
        qDebug() << "Error: Failed to connect database." << database.lastError();
    }
    else
    {
        // do something
    }
}

void SqliteHelper::closeDatabase()
{
    database.close();
}

void SqliteHelper::executeQuery(QString sql_command)
{
    if(!sql_query.exec())
    {
        qDebug() << sql_query.lastError();
    }
    else
    {

    }
}

.pro里面加入了 st += sql
是哪里的问题呢,请指教

1个回答

将sqlitehelper.h 中的 SqlQuery sql_query 写到cpp executeQuery函数中解决。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Qt开发的sqlite数据库应用出现Driver not loaded
Qt加载数据库时,数据库驱动必须放在sqldrivers文件夹下, 1、将Qt安装程序的plugins/sqldrivers路径复制到EXE文件同根目录下。 2、程序中添加以下代码 QString path = QDir::currentPath();     QApplication::addLibraryPath(path+QString("/plugins"));     
Qt学习之路【5】:静态Qt库下SQLite数据库无法加载驱动(QSQLITE driver not loaded)
使用的Qt库:Qt4.8.6 交叉编译工具链:arm-linux-gcc(4.3.6) 这个问题纠结了好久。刚开始我使用的是Qt的动态库,没有出现这个问题。现在使用的是Qt的静态库出现了这个问题:QSqlDatabase: QSQLITE driver not loaded。 在网上搜索了好久,也尝试了很多的办法,但是没能够解决问题。但是昨天看到Qt4.8的官方文档时,找到了解决
qt移植过程中出现QSQLITE driver not loaded 的解决办法
QSqlDatabase: QSQLITE driver not loaded                                         QSqlDatabase: available drivers:    $ file libqsqlite.so libqsqlite.so: ELF 32-bit LSB shared object, ARM, vers
pyqt+sqlite程序发布后,提示“driver not loaded”
使用PyQt4写了一个小程序,其中用到了sqlite数据库,在我的调试环境中一切正常。当我使用cx_Freeze将其打包后,在运行相应的exe时,出现问题,老是提示"sqlite driver not loaded"的错误,看来是没有找到sqlite对应的驱动。于是百度+google了一番,发现有这样问题的人还不少,其出现这种错误的原因很简单,就是缺DLL库了。cx_Freeze已经将sqlite3.dll、qtsql4.dll拷贝到工作目录下,但是QT本身的数据库驱动qsqlite4.dll没有。于是我搜
Qt sqlite数据库默认连接问题
写了数据层的类,在两个地方使用,每次创建连接的时候提示下面的信息 QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.  每次使用的时候使用了addDatabase("QSQLITE") 网上查询后,如果已经存在连
终于编译好了qt的oracle驱动QOCI,连接driver not loaded解决方法
我想你和我一样,照着
VS编译QT程序调用SQLite数据库研究
环境:win8 + VS2008 +QT4.8.1 + QT Creator2.4.1,QT4.8.1是利用vs2008静态编译的 问题描述: 直接运行QT自带的SQLite操作例子工程tableModel,用QT自带的编译器MinGW编译运行没有问题,但是把QT工程转成VS工程后,用VS编译没有问题,运行的时候调用db.open的时候失败,失败的原因是“diverError=Driv
带有加密功能的 SQLite Qt 插件
Qt 已经内置了一个 SQLite 数据库,方便我们开发桌面应用。但是这个 SQLite 是官方提供的开源版本,这意味着这个版本的 SQLite 实际是没有加密功能的。对于一般的桌面应用,数据库加密有时是比较重要的,特别是当你需要对所存储的数据必须保密的时候——比如密码,或者用户个人隐私信息等。 其实,SQLite 已经为我们预留了接口 sqlite3_key()函数。但是,这个函数其实是没
Qt数据库操作 连接SQLite和MySQL数据库实例
Qt数据库操作 连接SQLite和MySQL数据库实例是本文要介绍的内容,本来对于数据库的操作,本人也是有点感冒,那么我们一起来看这篇文章。rn rn下载SQLite数据库rn首先到SQLite官方网站下载:rnhttp://www.sqlite.org/download.htmlrn得到sqlite3.exe。即可.就可以操作数据库了。rn运行cmd到该指定的目录下,使用如下命令:如rnF:\软
基于Qt的跨平台应用开发(转)
转自:http://www.cnblogs.com/R0b1n/p/4106613.html1 Qt简介 Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所有功能。Qt很容易扩展,并且允许真正地组件编程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上
qt使用QtCipherSqlitePlugin插件对sqlite数据库进行加密
由于在开发中遇到需要将对应的sqlite数据库
QT中sqlite多线程操作4个注意问题
总结了一下Qt中sqlite多线程操作遇到的几个问题,希望能对有需要的朋友一点帮助
Qt中使用SQLITE数据库
QT +=sql 在头文件中声明调用所需要的库 #include //数据库 #include //数据库 #include //语句 #include //错误 链接数据库 QSqlDatabase m_db =QSqlDatabase::addDatabase("QSQLITE","note.db");//此处的第一个参数为所调用的数据库,因为在QT中有QMYSQL,QO
QT5中使用SQLite
SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。 Qt5以上版本可以直接使用SQLite(Qt自带驱动)。 1、修改.pro文件,添加SQL模块: QT += sql 2、main.cpp代码如下: #include &amp;amp;amp;amp;quot;mainwindow.h&amp;amp;amp;amp;quot; #include &amp;amp;amp;amp;amp;lt;QApplicatio
sqlite-jdbc jar包下载过程笔记
在网络上找一些开源的jar包和对应的源码时,官网上往往是最为安全,版本最新。但大部分的网站都为英文网站,有时候定位下载地址稍有困难,下面是网上找sqlite-jdbc jar包过程,记录一下,以供参考: 1、google或者百度定位到sqlite Jdbc 官网 https://bitbucket.org/xerial/sqlite-jdbc/ 2、向下找到 Using SQLite
SQLite JDBC Driver
SQLite JDBC Driver SQLite JDBC Driver SQLite JDBC Driver
QT里使用sqlite的问题,好多坑
1. 我使用sqlite,开发机上好好的,测试机上却不行。后来发现是缺少驱动(Driver not loaded Driver not loaded),代码检查了又检查,发现应该是缺少dll文件(系统不提示,是自己使用 QMessageBox::warning(NULL, ("error"), database.lastError().text());后猜到的)。于是自己千方百计的想办法,反复测试
port95nt LPT驱动 并口驱动
烧录IC专用电脑,新安装的操作系统,刚安装的烧录软件,打开烧录软件的时候提示: "DLPORTIO.SYS device not loaded. Port I/O will have no effect" 通过在系统搜索DLPORTIO.SYS,没有找到 在其他可以正常烧录的计算机上搜索,烧录软件安装目录及系统system32\drivers目录都有这个文件 投机取巧,将正常计算机上的DLPORTIO.SYS文件拷贝到有问题的计算机的system32\drivers目录 系统缺少LPT驱动,并提供了xp sp2的驱动文件下载 下载port95nt,安装 卸载烧录软件,重装烧录软件 正常启动 初步判断应是烧录软件安装程序不完整,没有安装LPT驱动所致
关于MySql在调试过程中出现Driver not loaded Driver not loaded的问题的解决办法
问题描述: 在调试QT程序的时候出现以下图中所示问题,由QString str = db.lastError().text().toLocal8Bit(); 得到。导致数据库一直连接不上。 解决方案: 在这里我就直接略过已经尝试并测试失败的方法,直接写正确的解决方案。 1、由该str可知,驱动加载失败,于是我就重新编译了驱动。 2、编译驱动的过程如下: 3、首先下载libmys
QSqlite 加载失败的解决方法
发现好多人在交叉编译QT后,在板子上运行,会出现QSqlite驱动无法加载的问题。nn QSqlDatabase: QSQLITE driver not loaded n QSqlDatabase: available drivers: nn n 这个有三个原因可以找,n 1.编译
SQLite ODBC驱动
SQLite ODBC驱动
sqlite的C/S结构的ODBC驱动程序终于实现成功了
        经过一段时间的调试,C/S架构的ODBC 驱动程序终于调试成功。现在,在Windows上可以使用该驱动连接Linux或windows上的sqlite server。在linux上也可以连接Linux或windows上的sqlite server.即可以跨平台进行查询使用,功能类似于其它的开源数据库,如MYSQL、PostgreSQL等DBMS。           软件包括: 
Sqlite JDBC 驱动示例
Sqlite JDBC 驱动示例 JDBC驱动下载地址: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.St
最新版 SQLITE ODBC 驱动
最新版 SQLITE ODBC 驱动,包含32位版本和64位版本
sqlite3数据库 ODBC连接驱动
windows上的sqlite ODBC连接驱动,安装配置好后,可以使用ODBC连接访问数据库文件
SQLite JDBC 与 ODBC 驱动加密技术详解
SQLite Security ODBC/JDBC 驱动实现了Linux、Windows、Android 等平台下通过标准接口访问SQLite数据库的能力, 对于熟悉JDBC/ODBC的开发人员很容易上手,同时也便于现有的项目由其他数据库向SQLite数据库的移植。ODBC 加密驱动的一个列子// 只是在数据库连接上有一点区别,其他接口调用相同 SQLDriverConnect(dbc, NUL...
sqliteodbc.exe sqlite的ODBC驱动
sqlite的ODBC驱动,sqlite知道不?odbc知道不?都想用不?这是奏字数的.
打造支持加密与odbc的sqlite
一直想找一个支持加密和odbc接口的sqlite免费版本,可以找了很久都没有找到。于是开始基于开源版本sqlite重新打造。nwxsqlite3(加密版sqlite):http://sourceforge.net/projects/wxcode/files/Components/wxSQLite3/nsqliteodbc(odbc版sqlite):https://github.com/soft
ubuntu下Qt调试提示:“ptrace:不允许的操作”
1.修改系统配置文件:用gedit 使用 管理员权限打开rnrnrnrnrnrn[cpp] viewrn plaincopyprint?rnrnrnrnrnrnrnsudo gedit /etc/sysctl.d/10-ptrace.conf   rnrnrnrnrnrnrn2.找到下面这一行:(一般在文件最后一行)rnrnkernel.yama.ptrace_scope = 1rnrnrn3.修
Qt SQLite数据库操作
Qt提供了平台以及数据库种类无关的访问数据库接口,支持 QMYSQL,QODBC ,QPSQL和QSQLITE. 由于Qt对不同平台和数据库都使用同一个接口,本文选择了对嵌入式领域常用的SQLite数据库进行操作。 ----------------- SQLite 数据库 -----------------         SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理
基于Qt的sqlite编程
通过Qt操作sqlite数据库。建库,建表,添加字段、增删改查。 先介绍下常用的sql语句: 判断数据库中是否存在某个表: SELECT 1 FROM sqlite_master where type = 'table' and name = 'book'; 判断表中是否存在某字段:SELECT 1 FROM sqlite_master where type = 'table' and
QT:SQLite数据库 '增、删、改、查'
SQLite数据库 '增、删、改、查' 1. 数据库简介  数据库指的是以一定方式存储在一起,能为多个用户共享,具有尽可能小的冗余度的特点,是与应用程序彼此独立的数据集合。  // 一定方式:可以理解为策略、算法  // 网盘相同的文件是以 MD5 码的形式标记相同的文件,以网络共享。 2. 和数据相关的术语  DBMS '数据库管理系统'  DBA  '数据库管理员'
在 QT5 中使用 SQLITE
在我最近一直在做的有关 Kindle 批注管理软件的项目中,对于数据库我是用的是 SQLITE,在这篇文章中我会介绍一下 SQLITE 数据库,以及如何在 QT5 中使用它。 SQLITE 简介WHAT IS SQLITE?SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌入式的,而且
Qt数据库之访问 SQLite
SQLite 是一个开源的嵌入式关系数据库,实现自包容、零配置、支持事务的SQL数据库引擎。 其特点是高度便携、使用方便、结构紧凑、高效、可靠。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。SQLite 支持跨平台,同一个 SQLite 的数据库文件,可以在 Windows,Linux,Mac OS 中使用。SQLite 的使用非常广泛,例如 Firefox,Chro
Qt5 操作 Sqlite3实例
sqlite3 在启动的时候 就需要指明  数据库名称~ Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\han>f: F:\>cd F:\QtProjects\build-sqlitetest-Desktop_Qt_5_5_1_MinGW_32bit-Debug\deb
qt+sqlite实例源码程序
利用qt4.62版本开发的qt连接sqlite数据库的实例程序,详细源码,部分注释,利于初学者学习qt连接数据库的开发
Qt 连接SQLITE数据库
Qt 4访问Sqlite数据库是本文要介绍的内容,先来认识一下sqlite,它是一款轻量级的、基于文件的嵌入式数据库 AD: 本文介绍的详解 Qt 4访问Sqlite数据库,文章不仅对sqlite做了简单描述,并且很详细的介绍了sqlite的优势和操作,不多说了,我们先来看内容。 sqlite简介 sqlite 是一款轻量级的、基于文件的嵌入式数据库,2
QT快速读取显示SQLite3数据库数据
(本文为本人原创,请尊重个人劳动成果未经本人允许,严禁转载!)nSQLite3是一个轻量级的文件数据库,拥有其他数据库无可比拟的高效率,其自身的C语言API已经能够满足大多数应用。蛋似,想要将数据直接显示在类似DataGrid控件中,光靠他自带的API可能就会遇到麻烦了。因为当数据量过大的时候,直接将所有数据数据都读到内存中来是一种低效、不靠谱的方法。此时,支持Model/View的QT
SQLite Driver jar/SQLite驱动包
SQLite Driver jar/SQLite驱动包
qt下使用sqlite数据库存储二进制文件
qt下sqlite数据库存储和查询二进制数据
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件