Qt操作sqlite数据库
代码讲解:
1.检查数据库文件是否存在,如果不存在就创建数据库文件
2.创建 person 表(等下的操作就是操作这个表)
3.查询出 person 表中所有的数据,并显示出来
Pro 文件 添加 SQL
QT += sql
.h 头文件
#include <QtSql/QSqlDatabase>
#include <QLabel>
#include <QDir>
#include <QSqlQuery>
#include <QTableView>
#include <QSqlTableModel> public:
bool connection(); // 测试连接
void createDB(); // 创建数据库
void bindData(); // 绑定数据 QSqlDatabase db;
.cpp 源文件
// 实例QLabel
QLabel *my_label = new QLabel(this);
my_label->setGeometry(QRect(50, 50, 200, 25)); // 判断数据库文件是否存在
bool dbFile = !QFile::exists(QDir::currentPath() + "/db.db");
if(connection())
{
if(dbFile)
{
my_label->setText("不存在,请创建");
createDB();
bindData();
}
else
{
bindData();
}
db.close();
}
else
{
my_label->setText("连接失败");
}
bool MainWindow::connection()
{
db = QSqlDatabase::addDatabase("QSQLITE");
db.setDatabaseName("db.db");
if(!db.open())
{
return false;
}
return true;
} void MainWindow::createDB()
{
QSqlQuery query;
query.exec("create table person(id integer primary key autoincrement, name varchar(50) not null)");
query.exec("insert into person(name) values('zhangsan')");
query.exec("insert into person(name) values('lisi')");
} void MainWindow::bindData()
{
QTableView *table_view = new QTableView(this);
table_view->setGeometry(QRect(50, 80, 310, 200)); QSqlTableModel *model = new QSqlTableModel;
model->setTable("person");
model->select(); table_view->setModel(model);
table_view->setEditTriggers(QAbstractItemView::NoEditTriggers);
}
Qt操作sqlite数据库的更多相关文章
- Qt 操作SQLite数据库
项目中通常需要采用各种数据库(如 Qracle.SQL Server.MySQL等)来实现对数据的存储.查询等功能.下面讲解如何在 Qt 中操作 SQlite 数据库. 一.SQLite 介绍 Sql ...
- Java操作Sqlite数据库-jdbc连接
Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...
- 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)
1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...
- EF6操作Sqlite数据库的项目兼容性问题
vs2010无法正确打开2015创建的项目里面操作Sqlite数据库时使用EF6创建的edmx文件(会显示空白) 但是可以正常查询 vs2015无法正确打开2010创建的项目里面操作Sqlite数 ...
- EF操作sqlite数据库时的项目兼容性问题
问题:vs2015打不开vs2010建的操作sqlite的实体数据模型edmx文件 原因: 当前电脑必须先安装:驱动库及sqlite的vs拓展 正常情况下安装驱动和拓展后,vs2015就应该可以正常打 ...
- JDBC访问及操作SQLite数据库
SQLite 是一个开源的嵌入式关系数据库,其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进 ...
- UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...
- Android中操作SQLite数据库
我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...
- .NET环境下,通过LINQ操作SQLite数据库
//对应数据库中的某个表 [Table(Name = "main.Student")] public class Student { [Column(Na ...
- 如何C#操作SQLite数据库
或许有人之前在java开发中使用过SQLite,对它有些印象.在用Winform或Wpf开发小应用程序时,发现用SQLite数据库也是不错的.就像一个会员管理软件,开发完毕后,可以省去想sqlserv ...
随机推荐
- 【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
问题一:App Service 的默认启动路径为wwwroot,如何修改到到PHP代码运行目录呢? 如Laravel的启动目录为public/?那如何修改呢? App Service 的默认 PHP ...
- Nebula Graph 源码解读系列 | Vol.01 Nebula Graph Overview
上篇序言中我们讲述了源码解读系列的由来,在 Nebula Graph Overview 篇中我们将带你了解下 Nebula Graph 的架构以及代码仓分布.代码结构和模块规划. 1. 架构 Nebu ...
- 5. JVM虚拟机栈
1.概述 说到jvm 其中让人印象最深的就是栈和堆,也是 jvm中占用内存最大的两个地方. 从宏观上来看栈是运行时的单位,而堆是存储的单位 ,栈解决程序的运行问题,即程序如何执行,或者说如何处理数据. ...
- 一键Run带你体验扩散模型的魅力
本文分享自华为云社区<爆圈Sora横空出世,AGI通用人工智能时代真的要来了吗?一键Run带你体验扩散模型的魅力!>,作者: 码上开花_Lancer. Sora这几天的爆炸性新闻,让所有人 ...
- Spring事务(五)-事务隔离级别
Spring @Transactional注解isolation属性 @Transactional注解通过isolation属性设置事务隔离级别.如下: @Transactional(isolatio ...
- Vue前端项目架构梳理
撰写日期:2020-07-23 撰稿人:彭成刚 转载需经本人同意. Vue前端项目架构梳理 后期可以将TypeScript加入到项目来,对参数的数据类型进行更严格的校验. 现在主流就 Vue 和 Re ...
- coast 海岸 单词记忆方法
coast 海岸 单词记忆方法 coa 扣 想象一个碗扣下去 st站 碗的边和地面的接触面 就是海岸的边 coast 逼近的地方-海岸 coast (n.) - "margin of the ...
- stm32f103 实现LCD显示及分析
前记 stm32 f103 在很多物联网系统中,状态显示是一个很重要的部分,在配合其它的系统做物联网设备时候,有一个状态显示,不仅仅是显得高大上,并且能够让你的系统变得更加人性化,这对于做设备的来 ...
- 开源K线图辅助线编辑工具模块
基本就像使用photoshop一样,同一DC上应用叠加图像. 辅助线模块,提供浮动工具条,以及两层Layer,附加在DC上,交互处理DC对应窗口区域的鼠标事件,时间轴价格轴与x轴y轴坐标转换. XW全 ...
- Garnet: 力压Redis的C#高性能分布式存储数据库
今天看到微软研究院开源了一个新的C#项目,叫Garnet,它实现了Redis协议,可以直接将Redis替换为Garnet,客户端不需要任何修改.根据其官网的信息,简单的介绍一下它. 开源仓库地址:ht ...