sqlite数据库

SQLite升级

血红的双手。 提交于 2020-03-10 05:50:08
升级方案 1.让用户将应用卸载然后再安装最新版本的app 2.对数据库进行升级 对于第一种方案,用户卸载老版本就会造成数据丢失,这样对于用户的体验性极差,不到万不得已的时候不要做。 我们倾向于选择第二项方案。 不同版本升级分析 3.1.Version1.0 当我们开发第一个版本数据库的时候,SQLiteOpenHelper的继承类里会走onCreate()方法,即 —->v1.0 走onCreate(),这时候并不涉及更新的方法。 3.2.Version2.0 当我们开发到第二个数据库版本的时候,分两种情况: (1) 用户从1.0版本升级到2.0版本 SQLiteOpenHelper的继承类里会走onUpgrade()方法,不走onCreate()方法。即v1.0—->v2.0 走onUpgrade(); (2) 如果是用户直接安装v2.0 , SQLiteOpenHelper的继承类里会走onCreate()方法,不走onUpgrade()方法。即 —->v2.0 走onCreate() 3.3.Version3.0 (1) 用户从1.0版本升级到3.0版本 ,SQLiteOpenHelper的继承类里会走onUpgrade()方法,不走onCreate()方法。即v1.0—->v3.0 走onUpgrade() (2) 用户从2.0版本升级到3.0版本

.net core加载加密的sqlite文件失败解决方案

僤鯓⒐⒋嵵緔 提交于 2020-03-08 18:53:29
.net core加载加密的sqlite文件失败解决方案   在项目开发过程中,遇到使用sqlite的场景。在加载加密的sqlite时,连接sqlite时报错,,先用百度查询了下资料,尚未找到对应解决方法,故接着在stackoverflow上查找,找到了解决思路,并已解决问题。 1.开发时所用到的相关内容 1.1相关项目组件 组件名称 版本 Microsoft.NETCore.App 2.1.0 sqlSugarCore 5.0.0.9 1.2 sqlite加密软件 软件名称 版本 SQLiteStudio 3.1.1 2.解决过程 2.1 遇错过程   刚开始用的时候是直接用SQLiteStudio直接创建了SQLCipher加密的sqlite文件,用sqlsugar进行DB连接时候程序报错。报错提示如下: file is encrypted or is not a database 2.2 第一种解决方案——System.Data.Sqlite 2.2.1 使用System.Data.Sqlite   在sqlite连接的时候,弃用sqlsugar,转而采用System.Data.Sqlite中的sqliteconnection来连接,这个需要自行从nuget中下载,当前采用是System.Data.Sqlite的最新版本1.0.112,且需要将原先加密方式进行改变

Sqlite3 使用教程

北城余情 提交于 2020-03-08 14:59:21
OS X 自从 10.4 后把 SQLite 这套相当出名的数据库软件,放进了作业系统工具集里。OS X 包装的是第三版 的 SQLite,又称 SQLite3。这套软件有几个特色:  软件属于公共财(public domain),SQLite 可说是某种「美德软件」(virtueware),作者本人放 弃着作权,而给使用 SQLite 的人以下的「祝福」(blessing): o May you do good and not evil. 愿你行善莫行恶 o May you find forgiveness for yourself and forgive others. 愿你原谅自己宽恕他人 o May you share freely, never taking more than you give. 愿你宽心与人分享,所取不多于你 所施予  支援大多数的 SQL 指令(下面会简单介绍)。  一个档案就是一个数据库。不需要安装数据库服务器软件。  完整的 Unicode 支援(因此没有跨语系的问题)。  速度很快。 目前在 OS X 10.4 里,SQLite 是以/usr/bin/sqlite3 的形式包装,也就说这是一个命令列工具,必须先从终端 机(Terminal.app 或其他程序)进入 shell 之后才能使用。网络上有一些息协助使用 SQLite

sqlite常用命令

我的未来我决定 提交于 2020-03-07 23:59:40
sqlite常用命令 一、查看版本信息: #sqlite3 -version 二、sqlite3常用命令 1、当前目录下建立或打开test.db数据库文件,并进入sqlite命令终端,以sqlite>前缀标识: 2、输出帮助信息: sqlite>.help 3、查看数据库文件信息命令(注意命令前带字符’.’): sqlite>.database 4、退出sqlite终端命令: sqlite>.quit 或 sqlite>.exit 5、列出当前显示格式的配置: sqlite>.show 6、显示数据库结构:.schema 显示表的结构:.schema 表名 其实就是一些 SQL 语句,他们描述了数据库的结构,如图 7、导出某个表的数据: .dump 表名 8、设置导出目标: .output 文件名 或者 .output stdout 先运行 .output cars.sql ,然后再运行 .dump 命令试试看?如果要回复成导出到终端(标准输出),则运行 .output stdout 10、设置分隔符:.separator 分隔符 我们可以首先运行 SELECT * FROM Cars; ,可以看到默认的分隔符是 | 运行.separator : 以后,再 SELECT * FROM Cars;,可以看到分隔符已经变成 : 了 11、显示标题栏:.headers on 12

delphi xe5 安卓 配置sqlite

半世苍凉 提交于 2020-03-05 10:01:42
本篇我们介绍一下在android手机上怎样使用sqlite数据库,这里用Navigator实现 增删改查。 1、新建firemonkey mobile application 2、选择blank application 3、这里选择分辨率,仍旧选择我女儿称呼的平板手机p3100的7寸分辨率 O(∩_∩)O~ ,界面上摆放一个open按钮,一个grid 同时拖拽一个 FDConnection 和 FDPhysSQLiteDriverLink1 FDQuery1 另外根据运行结果提示 还需要一个 FDGUIxWaitCursor ,运行的时候会有提示 4、连接sqlite 数据库,这里我就不再赘述怎样建立sqlite数据库和表,我这里建了个test.s3db 并建立一张table_test表。 右键点击 FDConnection,database选项选择建好的sqlite数据库 ,如有用户名和密码则分别输入 在fdquery中选择sql输入select * from table_test 5、绑定数据 选择view->LiveBindings Designer 然后点击绑定 向导 依次选择 在open按钮的事件中写上fdquery1.close;fdquery1.open 5、重要的发布: 菜单 project ->deployment->然后点击增加按钮,选择中sqlite数据

Android SQLite入门简介

送分小仙女□ 提交于 2020-03-04 01:48:41
SQLite是一个轻量级的数据库,和C/S模式的数据库软件不同,他是进程内的数据库引擎,因此不存在数据库的客户端和服务器,而且Android系统自带了SQLite数据库。 首先我们科普一下数据库: 数据库大概分为关系型数据库和非关系型数据库,这两种大概的就是存储的方式不同。 关系型数据库 :是表格格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。例如:MySQL,Oracle数据库,SQL Server,Microsoft Access,还有我们要讲的SQLite也属于关系型数据库 非关系型数据库 :不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。例如:NoSQL(我没怎么用过非关系型数据库) 起始随着物联网的兴起也经常会用到时序型数据库例如:InfluxDB,Informix TimeSeries,我理解这个数据库也属于关系型,因为他也是以表格的形式存储的,但是叫法不一样,其中:database 数据库;measurement 数据库中的表;point 表中的一行数据。主要用于传感器的数据的采集与记录,后期我们可以试着让SQLite具备一些时序数据库的功能。 关系型数据库简介 上面提到了数据库是表格形式的。数据库、表、字段他们的关系是下面这样的 。好多地方说的数据库天花乱坠

SQLite学习手册

核能气质少年 提交于 2020-03-02 09:41:04
先来一段客套话   SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月。 至今已经有12个年头,SQLite也迎来了一个版本 SQLite 3已经发布。 它的Logo里头的那条毛,估计就是说明它够轻的意思。 1 工具   最原始的工具当然是命令模式的工具,也有图形界面的,FireFox的SQLite Manager,SQLiteSpy,VS也行,以前找到一个免费的好像还可以的忘了叫什么名字了。找了几个都不好用干脆原始一点用命令模式算了,可以到官网里下,有个Shell的那个就是命令行工具了。   输入“.help”就会弹出一大堆内置的命令,各个命令的功能如下 命令名 命令说明 .help 列出所有内置命令。 .backup DBNAME FILE 备份指定的数据库到指定的文件,缺省为当前连接的main数据库。 .databases

[转载]SQLite 创建、修改、删除表

无人久伴 提交于 2020-03-02 02:06:11
、数据库定义语言 DDL 在关系型数据库中,数据库中的表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger 等等,构成了数据库的架构 Schema。 在 SQL 语句中,专门有一些语句用来定义数据库架构,这些语句被称为“数据库定义语言”,即 DDL。 SQLite 数据库引擎支持下列三种 DDL 语句: CREATE ALTER TABLE DROP 其中,CREATE 语句用来创建表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger, DROP语句用来删除表 Table、视图 View、索引 Index、关系 Relationship 和触发器 Trigger, ALTER TABLE 语句用来改变表的结构。 今天这一篇只涉及到表的相关内容,视图、触发器等到后面再讲。 二、SQLite 中的数据类型 SQLite 数据库中的数据一般由以下几种常用的数据类型组成: NULL - 空值 INTEGER - 有符号整数 REAL - 浮点数 TEXT - 文本字符串 BLOB - 二进制数据,如图片、声音等等 SQLite 也可以接受其他数据类型。 三、创建表 CREATE TABLE 首先,创建一个 test.db 数据库并进入 SQLite 命令行环境,还记得怎么做吗?

解决网站使用sqlite时并发问题的一个经验

穿精又带淫゛_ 提交于 2020-03-01 06:40:03
前几天在CSDN上看到有人使用sqlite+tomcat实现一个web应用,并发操作引起数据库锁定,在发帖求助。这才想起自己以前做的一个web应用也有相同问题,顺便把自己解决方法写下来,供大家参考。 当时我的应用是给单位做一个月度工作计划的上报并生成WORD文件供排版、打印。考虑到数据量不大,没有现成数据库系统可用,并且当时自己已经为sqlite写了一个很好的辅助系统(当时叫SqliteHelper,就是现在xqk.data数据框架的原始版本,呵呵),就决定用sqlite数据库+asp.net来实现。 应用实现起来很简单,但是在上线试运行时,发现经常出项sqlite被锁定,不能读写的错误。也就是CSDN网友提到的并发问题。经过检查,发现问题出DbConnecting上。 在这个应用中,我是在每个aspx页面的Page_Load里打开sqlite数据库,等相关操作完成后再关闭。大概的代码是: void Page_Load(Object sender,EventArgs e) { DbConnector db = SqliteHelper.Connector(Application["dbfile"]); Plans[] plans = db.SelectAll(); ...... } 这个问题解决的过程记得不是很清楚了,但是最终的解决方法是: 先在Application

数据存储之SQLite嵌入式数据库

南楼画角 提交于 2020-02-29 01:53:18
前两篇日志我已经总结了本地数据存储的前两种:文件和配置项。还剩下最后一种数据库存储——SQLite。 一、SQLite简介 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型虽然只有五种,但实际上sqlite3也接受varchar(n)、 char (n)、decimal(p,s) 等数据类型,只不过在运算或保存时会转成对应的五种数据类型。 SQLite最大的特点是你可以保存任何类型的数据到任何字段中,无论这列声明的数据类型是什么。例如:可以在Integer字段中存放字符串,或者在布尔型字段中存放浮点数,或者在字符型字段中存放日期型值。 但有一种情况例外:定义为INTEGER PRIMARY KEY的字段只能存储64位整数, 当向这种字段中保存除整数以外的数据时,将会产生错误。另外, SQLite 在解析CREATE TABLE 语句时,会忽略 CREATE TABLE 语句中跟在字段名后面的数据类型信息。 二、SQLite的CURD Android提供了一个名为SQLiteDatabase的类,该类封装了一些操作数据库的API,使用该类可以完成对数据进行添加(Create)、查询(Retrieve)、更新(Update