qt连接sqlite数据库获取数据问题

qt已成功连接到sqlite数据库,数据库里面有data表,为什么显示不存在data表,读不到数据?图片说明

2个回答

bool isTableExist = \
query.exec(QString("select count(*) from sqlite_master where type='table' and name='%1'").arg(strTableName))); //关键的判断
这样判断下表是不是存在

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
QT连接sqlite数据库
初学者开发笔记,代码注释详细,下载可以直接使用,感谢网络大家的共享,一起学习
qt连接sqlite数据库
基于QT能够快速方便有效的连接sqlite数据库
Qt sqlite数据库默认连接问题
写了数据层的类,在两个地方使用,每次创建连接的时候提示下面的信息 QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.  每次使用的时候使用了addDatabase("QSQLITE") 网上查询后,如果已经存在连
QT与数据库SQLITE的问题
//按扭事件rn QSqlQuery query;rn query.exec("select * from fileinfo");rn bool result = query.next();rn if(result == false)rn query.exec("create table fileinfo(id,filename,status);");rn query.exec("select id from fileinfo");rn while(query.next())rn record_number_Line = query.value(0).toInt();rn rn QString insertdata = "insert into fileinfo(id,filename,status) values('" + QString::number(record_number_Line);rn insertdata += "','" + QString::fromAscii(values1) + "','0');";rn query.exec(insertdata);rn qDebug()< rnrn //另一个按扭事件:rn QSqlQuery query;rn //修改文件标记为未读取状态rn QString updatedata = "update fileinfo set status='1' where id='" + QString::number(record_number_Line) + "';";rn qDebug()< query.exec(updatedata);rnrn编译执行结果:rnrn"insert into fileinfo(id,filename,status) values('8','J140809008','0');"rn"update fileinfo set status='1' where id='8';"rn超级终端中执行:sqlite3 SysInfo.dbrnsqlite> select * from fileinfo;rn1|J140808001|1rn2|J140808002|1rn3|J140808003|1rn4|J140808004|1rn5|J140808005|1rn6|J140808006|1rn7|J140808007|1rn8|J140809008|1rnsqlite>rn结果没有异常。rnrn将此代码使用arm-linux-gcc交叉编译后生成ARM构架可执行代码复制到板子上运行:rn"insert into fileinfo(id,filename,status) values('9','J700101009','0');"rn"update fileinfo set status='1' where id='9';"rnSegmentation faultrn应用程序黑屏。rn再次使用ARM板上的超级终端执行:sqlite3 SysInfo.dbrnsqlite> select * from fileinfo;rn1|J140808001|1rn2|J140808002|1rn3|J140808003|1rn4|J140808004|1rn5|J700101005|1rn6|J700101006|1rn7|J700101007|0rn8|J700101008|1rn9|J700101009|0rnsqlite> update fileinfo set status='1' where id='9';rnsqlite> select * from fileinfo;rn1|J140808001|1rn2|J140808002|1rn3|J140808003|1rn4|J140808004|1rn5|J700101005|1rn6|J700101006|1rn7|J700101007|0rn8|J700101008|1rn9|J700101009|1rnsqlite>rn问题是:在QT中执行update,在PC上运行结果正常,交叉编译以后在ARM板上执行update命令时出现Segmentation faulrn但是在ARM板的超级终端上运行sqlite3 xx.db执行update命令时结果正常。rn请问这是哪里出现的错误?rnrnQString updatedata = QString("delete from fileinfo where id='") + QString::number(record_number_Line) + QString("';");rndelete语句也同样的错误。
SQLite数据库的连接问题
vs连接SQLite数据库的时候,连接字符串应该怎么写?在网上找的有这样的rnSQLiteData md = new SQLiteData("Data Source=c:\\测试.db3;Version=3;password=12345"); rnrn但是,Version,password都是在哪获得呢?我打开那个数据库的管理器的时候并没有密码啊rnrn详细出处参考:http://www.jb51.net/article/29434.htm
qt 连接SQLite 中文乱码
qt 在调用SQLite数据库时候显示中文时乱码,平台是wince,已经在main函数中做了GB2312转换了
QT连接Sqlite数据库操作
QT连接Sqlite数据库基本操作, 创建新类sqldb、在窗口中使用数据库、
关于Qt连接SqLite数据库的一些问题
第一次运行程序时创建了一个表,然后在这个表中插入了一些数据后rn第二次再次运行该程序,可是上次插入的数据却不存在了rn这是为什么rn该怎么解决rn[code=c]#include rn#include rn#include rn#include rn#include rnrnBookShow::BookShow(QWidget *parent) :rn QWidget(parent)rnrn if (openDataBase())rn rn createDataBaseTable();rn QStringList data;rn data << "empty";rn query->exec("select Book_Name from BookInfo");rn while (query->next())rn data << query->value(0).toString();rn model = new QStringListModel(this);rn model->setStringList(data);rnrn view = new QListView;rn view->setModel(model);rnrn showButton = new QPushButton("Show", this);rn QObject::connect(showButton, &QPushButton::clicked,rn this, &BookShow::showDetail);rn deleteButton = new QPushButton("Delete", this);rn QObject::connect(deleteButton, &QPushButton::clicked,rn this, &BookShow::deleteData);rn insertButton = new QPushButton("Insert", this);rn QObject::connect(insertButton, &QPushButton::clicked,rn this, &BookShow::insertData);rnrn QHBoxLayout *buttonLayout = new QHBoxLayout;rn buttonLayout->addWidget(deleteButton);rn buttonLayout->addWidget(showButton);rn buttonLayout->addWidget(insertButton);rnrn QVBoxLayout *mainLayout = new QVBoxLayout;rn mainLayout->addWidget(view);rn mainLayout->addLayout(buttonLayout);rn setLayout(mainLayout);rn rnrnrnrnbool BookShow::openDataBase()rnrn DataBase = QSqlDatabase::addDatabase("QSQLITE");rn DataBase.setHostName("localHost");rn DataBase.setDatabaseName("MyBook");rn DataBase.setUserName("root");rn DataBase.setPassword("123456");rn if (DataBase.open())rn rn query = new QSqlQuery(DataBase);rn return true;rn rn QMessageBox::information(this, "error", "The DataBase failed to open!");rn return false;rnrnrnbool BookShow::createDataBaseTable()rnrn QString tableName = "BookInfo";rn query->exec(QString("select * from sys.tables where name = '%1' ").arg(tableName));rn if (!query->next())rn return false;rn query->exec(QString("create table '%1'"rn "(Book_Name varchar(20),"rn "Author varchar(10),"rn "Word_Count int,"rn "Serial_Status bit").arg(tableName));rn return true;rnrnrnvoid BookShow::showDetail()rnrnrnrnrnvoid BookShow::deleteData()rnrnrnrnrnvoid BookShow::insertData()rnrn bool isOk;rn QString text = QInputDialog::getText(this, "Insert",rn "Please input new data:",rn QLineEdit::Normal,rn "you are inserting new data",rn &isOk);rn if(isOk)rn rn QModelIndex currIndex = view->currentIndex();rn model->insertRows(currIndex.row(), 1);rn model->setData(currIndex, text);rn view->edit(currIndex);rn query->exec(QString("insert into BookInfo(Book_Name) values('%1')").arg(text));rn rn[/code]
QT下SQLITE数据库多条件查询的问题
请问用什么语句可以实现SQLITE数据库的多条件查询?查询的条件有一个或者多个,也可能是空的。谁能帮我解答一下。
QT sqlite数据库的插入问题
怎么插入一个变量值~
Qt使用sqlite数据库的问题
之前使用数据库用的都是MySQL,觉得挺方便的,但最近做的程序要在Linux开发板上跑,就使用了Qt自带的轻量级数据库sqlite,但使用过程中遇到了一些问题: 原代码(只贴相关代码): 头文件: #include &amp;lt;QSqlDatabase&amp;gt; QSqlDatabase db; public: explicit Widget(QWidget *pare...
qt数据库sqlite
数据库在当代已经用的十分普遍,因此作为一个程序员不可避免的学习sql的一些简单操作。本代码基于qt和sqlite类写了一个简单的数据库显示界面。在本代码中实现了查找删除增减等功能,是程序员开发sql数据库很好的参考资料。
[QT]数据库-SQLite简明教程
原创文章,欢迎转载。转载请注明:转载自 祥的博客 原文链接: 1.源码概述 1.1. 文件QFxQSQLite.h 1.2. 文件QFxQSQLite.cpp 2.分析源码 2.1. 建立数据库链接,打开创建表 [1]初始设置 [2]打开数据库 [3]创建表格 2.2. 插入数据 2.3. 更新数据 2.4. 查询数据 2.5. 查询最大ID 2.6. 删除数据 2.7...
Qt数据库(sqlite)编程
请教!sqlite 数据库表最多只能到900列吗?有没有什么好的方法突破这个限制?行数方面好像没有任何限制。rnrn具体情况是这样的,我有2个表,表A中每增加一行,另外一个表B则增加一列。我们需要在表A中增加上千行的数据,所以表B需要存储上千列。但是sqlite不支持那么多列,所以我想行列互换,即表A增加一行,表B也增加一行,能实现吗? 好像SQL语句create table 创建的都是带列名的表啊!rnrn具体背景:西门子的WinCC flexible 2008软件。创建新项目后,双击添加配方,新建配方_1,然后右边的元素页面每增加加一行成分,则数据记录页面中就增加一列。所以当某种配方有上千种成分时,数据记录页面就有上千列了。单纯的这样直接创建表,sqlite最多支持900来列,不够用。所以我打算改变存储方式,就是元素页面每添加一行成分,数据记录页面也是增加一行,即数据记录页面的列(字段)换为行。这样处理可行吗?如果不这样处理的话,是否有朋友知道还有什么其他方法没有?rnrn希望不吝赐教,非常感谢!
qt 链接sqlite数据库
在qt中常用的数据库有mysql和sqlite,它们都是轻量级的关系型的数据库,使用与操作也都非常便捷,下面就qt链接mysql和sqlite数据库的操作步骤做个简单的记录。1、qt链接sqlite数据库1)加载数据库的驱动 首先要包含数据库操作需要的头文件。 #include <QSqlQuery> #include <QSqlError> #include <QtSql> QSqlDat
在Qt中使用SQLite数据库
前言 SQLite(sql)是一款开源轻量级的数据库软件,不需要server,可以集成在其他软件中,非常适合嵌入式系统。 Qt5以上版本可以直接使用SQLite(Qt自带驱动)。 用法 1 准备 引入SQL模块 在Qt项目文件(.pro文件)中,加入SQL模块: QT += sql 引用头文件 在需要使用SQL的类定义中,引用相关头文件。例如: #include &lt;QSqlDatab...
QT调用SQLITE数据库
1 在.pro文件中添加 sql   2 在头文件中添加 #include &amp;lt;QSqlQuery&amp;gt;   3 在需要调用数据库的窗口的构造函数中打开数据库 注意:数据库要在你的项目创建文件夹中,或者在函数中添加绝对路径 QSqlDatabase db = QSqlDatabase::addDatabase(&quot;QSQLITE&quot;); db.setDatabase...
Qt使用SQLite数据库
Qt使用SQLite数据库,具体实现,封装成为一个类使用。
qt使用sqlite数据库
为什么选择使用sqlite数据库 在qt中使用数据库时,如果不是很复杂的逻辑,可以考虑使用sqlite。 sqlite是一个轻量数据库,广泛应用于移动设备上,并且它的数据库整个放在一个db后缀的文件中,可以直接拷贝进行数据库的移动。 笔者原来使用mysql数据库,在qt连接mysql数据库时,由于qt提供的lib和dll和在用的数据库的版本不匹配的问题,往往需要自己重新编译。笔者曾经就这个问题写过...
QT sqlite数据库
利用Qt 编写的数据库文件,简单的实现数据库功能
QT访问SQLITE数据库
QT访问SQLITE数据库rn1、rn我将C:\Qt\4.7.2\plugins\sqldrivers下所有的文件加到与rnEXE相同目录下rn还是出现:Driver not loaded Driver not loadedrn2、在EXE的目录下创建目录sqldriversrn将C:\Qt\4.7.2\plugins\sqldrivers下所有的文件加到该目录rn还是出现:Driver not loaded Driver not loaded
qt 数据库 sqlite
Qt中使用SQLite数据库, 只实现了简单的创建数据库,创建表 添加和查询数据。
QT sqlite 连接不上
我用QT和sqlite开发一个程序,在我自己的机子上运行时一切正常,但一发布到另一台机子上(我朋友的机子),rn就出现连接不上数据库(那台机子已经安装了sqlite3.7)的问题。rnrn为什么会这样,是我的程序出了问题呢还是朋友的机子没配置好呢?rn请大家帮一下忙,先谢谢了。
linux下Qt连接sqlite出问题
在linux下做了个项目,要连接一个已经存在的sqlite数据库的db文件进行操作,可是总是提示:rnQSqlDatabase: QSQLITE driver not loadedrnQSqlDatabase: available drivers: rnrn网上找解决办法,安装成功sqlite-3.5.6在/usr/local/sqlite-3.5.6目录下,生成了库文件、头文件和可执行文件等,按照网贴的一些方法在*.pro工程中添加:rn[code=C/C++]SQLITE_PATH=/usr/local/sqlite-3.5.6rnDEPENDPATH += $$SQLITE_PATH/includernINCLUDEPATH += $$SQLITE_PATH/includernLIBS += -L$$SQLITE_PATH/librnLIBS += -lsqlite3[/code]rnrn此外工程中也添加了QT +=sqlrn程序中代码也能编译通过,代码如下:rn[code=C/C++] db=QSqlDatabase::addDatabase("QSQLITE");rn db.setDatabaseName("calendar.db");rn // db.open();rn bool ok=db.open();rn sqlNBox->clear();rn if(ok)rn rn QSqlQuery query;rn query.exec("SELECT id,year FROM calendar");rn while(query.next())rn rn if(query.value(0).toInt() < 35 )rn rn qDebug("ooo");rn sqlNBox->insertItem(query.value(0).toInt() , query.value(1).toString());rn rn elsern break;rn rn rn elseqDebug("222");rn db.close();[/code]rnrn还是提示驱动无法加载,现在搞这个问题很头痛,小弟初学,哪位高手成功连接过sqlite的帮我解决一下
急求大牛指教qt下连接sqlite数据库的问题
连接数据库时rn QSqlDatabase db=QSqlDatabase::addDatabase("QSQLITE"); //数据库连接rn db.setDatabaseName("E:/Qt/projects/shujuku1/person.db");rnrn想具体问setDatabaseName时那个路径,windows下怎么写,我这样写对吗?试了很多次,都无法打开数据库,估计是路径写错了。。。rnrn希望大牛指教。。。
qt获取数据
qt,c++,通过qt界面操作,获取数据库导出的.mat文件的数据
连接Sqlite数据库
1.创建和更改数据库 1.1  规划数据库结构 CREATE TABLE(,, ...); CREATE TABLE pets(_id INTEGER, name TEXT, breed TEXT, gender INTEGER,weight INTEGER); 两种不同的创建数据库表的方式,第一种硬编码,第二种利用已定义好的变量 String makeTableStatemen
unity3d连接sqlite数据库
我的操作系统win7 x64 unity3d (4.0.0f7版本) 连接sqlite数据的dll文件和示例代码。 在本工程的db文件夹下自动创建或查找mydb.db文件 希望可以帮助大家!
unity 连接Sqlite数据库
unity 连接sqlite的demo,压缩包中有Assets和Projectsettings文件夹以及examdb数据库文件。直接运行可以打印出user表中username列。脚本包含UserEntity,ScoreEntity两个实体类,SqliteAccess数据库连接类,SqliteHelper类中封装了查询删除方法。另外查询我主要用sql语句直接查询,没有做进一步封装,所以不了解sql语句的朋友慎重下载,unity版本5.6.3f1
C++连接sqlite数据库
这是一个用于C++连接sqlite数据库所需的文件,直接放在工程里面就行。然后再你的工程里包括头文件和库文件即可
Java连接SQLite数据库
Java连接本地SQLite数据库,访问SQLite数据。
java 连接sqlite数据库
一:首先 添加jar包 二: import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JOptionPane; ...
java连接 SQlite数据库
官方示例https://bitbucket.org/xerial/sqlite-jdbc import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; public cla
NetBeans连接SQlite数据库
本文主要介绍NetBeans中的项目如何连接到SQlite数据库 使用的数据库为SQlite3,程序语言为Java,数据库管理工具为Navicat 一、下载SQlite 1、在Windows上安装SQlite      可以在官网直接下载:https://www.sqlite.org/download.html      从 Windows 区下载预编译的二进制文件  根据系统,选择下载...
VB连接SQLite数据库
哪位大神可以提供一个vb连接sqlite的demo,我按照网上的几个案例,都没有连接成功,多谢了
Python连接sqlite数据库
import sqlite3 #连接数据库 #创建或打开数据库 conn=sqlite3.connect('zyy.db') #创建一个cursor cur=conn.cursor() #创建表 cur.execute('create table user (id int(10) primary key,name varchar(20));') #关闭游标 cur.close() #关闭conne...
pb9连接SQLite数据库
pb9连接SQLite数据库,数据库可以连接上,但查询数据不正确,表base_config有2行数据,查询出来ll_count=0。rnconnect 后, sqlca.sqlcode=0是连接上数据库了吗?rnrnrn代码如下:rn// Profile SQLiternSQLCA.DBMS = "OLE DB"rnSQLCA.AutoCommit = FalsernSQLCA.DBParm = "PROVIDER='MSDASQL',PROVIDERSTRING='Driver=SQLite3 ODBC Driver;Database=C:\code\DataTest\BSDBLOC.db;PassWord=' "rnrnconnect;rnrnif sqlca.sqlcode=0 thenrn messagebox("ok","ok")rn dw_1.settransobject(sqlca)rn long ll_countrn select count(*) into :ll_count from base_config;rn if sqlca.sqlcode <> 0 thenrn messagebox("error " + string(sqlca.sqldbcode) + '|'+string (sqlca.sqlcode), sqlca.sqlerrtext)rn //这里返回sqlca.sqldbcode=0,sqlca.sqlcode=-1,sqlca.sqlerrtext=“MISMATCH Between retrieve columns and fetch columns”rn end ifrn string ls_temprn ls_temp=string(ll_count)rn messagebox("ok",ls_temp)rnend if
Python连接SQLite数据库
SQLite作为一款轻型数据库,管理工具有很多,比如SQLite Expert Professional,很适合用来存储Python网站,爬虫的相关数据,下面列出基本的增删查改操作 读取操作: conn1 = sqlite3.connect(board.DatabasePath) conn1.row_factory = sqlite3.Row conn1.execute("prag
.net连接sqlite数据库
最近做了一个sqlserver到数据到sqlite的程序,居然在网上找到一个,但不符合我的要求,于是进行修改,修改完之后,一调试程序就崩溃,于是自己做了一个测试工程,专门访问sqlite数据库,结果用vs2013建一个console工程,添加引用System.Data.SQLite.dll,但是一运行到创建数据连接那句话,程序就提示“试图加载未知的程序映像。。。”,然后崩溃之,这是怎么回事儿,于是
C#连接SQLite数据库
1.What? 由于数据量小,便采用了SQLite数据库。 2.建库 对SQLite了解较少,所以没有使用命令行方式建立数据库,直接在Firefox浏览器中安装了插件SQLite Manager,并建立了数据库(当然默认后缀名为.sqlite.这个可以在Tools->Options->Main中的default file extension for SQLite files改为db就可以了。
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池