一、什么是 SQLite 数据库

  SQLite 是嵌入式SQL数据库引擎。与大多数其他 SQL 数据库不同,SQLite 没有单独的服务器进程。SQLite 直接读取和写入普通磁盘文件。具有多个表,索引,触发器和视图的完整 SQL 数据库包含在单个磁盘文件中。数据库文件格式是跨平台的-您可以在32位和64位系统之间或在big-endian和 little-endian 体系结构之间自由复制数据库 。这些功能使SQLite成为应用程序文件格式的流行选择。

  它还是一个本地数据库,在本地生成一个数据库文件,不需要借助网络就能访问。

二、SQLite 的下载安装

  官网下载地址:https://www.sqlite.org/download.html

  

  找到你所对应的版本,我这里以 windows 为例,下载 sqlite-tools-win32-x86-3390400.zip 和 sqlite-dll-win64-x64-3390400.zip 两个文件,将文件解压放置单独的文件夹,解压后一共是 5 个文件

  

  然后在电脑的环境变量中去配置这个文件夹的路径

  

  到这一步,安装和配置已经完成了,接下来就要验证是否安装成功了。打开 CMD 命令版,输入 sqlite3,出现版本信息,则表示安装成功

  如果输入出现提示 sqlite3 不是内部命令,那就是环境变量没有生效,配置环境变量后要重新启动电脑才能生效

  

三、SQLite在程序中使用

  这里以 .Net Framework 的项目为例演示

  1、引用 SQLite 相关的包即可,NuGet 搜索 System.Data.SQLite ,点击安装,会自动下载所依赖的其他包

    注意:不要在官网下载 System.Data.SQLite.dll ,如果你在官网下载这个 dll ,直接添加引用,运行代码时会报错 ,无法加载“DLL “SQLite.Interop.dll”:找不带指定模块”,很难解决

  

  2、新建一个文本将文件扩展名改为 db ,这样我们就能本地访问这个数据库

    

  3、访问查看 SQLite 数据库,有多种方式

    可以使用官方提供的工具 SQLiteStudio :https://sqlitestudio.pl/

    也可以使用其他的数据库链接工具(这里使用的是 Navicat),如下,选择连接数据库的类型为 SQLite,添加链接,选择现有的数据库文件就行,不需要账号和密码

    

  4、写 SQLite 帮助类

    我这里写的比较简单,只有 3 个方法

    因为 SQLite 可以本地读取的数据库,所以数据库链接要写成 绝对路径,如:C:\数据库\xx.db

 1 using System;
2 using System.Collections.Generic;
3 using System.Data;
4 using System.Data.SQLite;
5 using System.Linq;
6 using System.Web;
7
8 namespace WebApplication1.DBhelper
9 {
10 public static class SqliteHelper
11 {
12 /// <summary>
13 /// 获取连接字符串
14 /// </summary>
15 /// <returns>连接字符串</returns>
16 public static string GetSqlConnectionString()
17 {
18 //return ConfigurationManager.ConnectionStrings["Sql"].ConnectionString;
19 return "data source=C:\\TestProject\\DB\\sqliteDb.db"; //xx.db 用绝对路径
20 }
21
22 /// <summary>
23 /// 执行查询语句,返回DataSet
24 /// </summary>
25 /// <param name="SQLString">查询语句</param>
26 /// <returns>DataSet</returns>
27 public static DataSet GetDataSet(string SQLString)
28 {
29 using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))
30 {
31 DataSet ds = new DataSet();
32 try
33 {
34 connection.Open();
35 SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
36 command.Fill(ds, "ds");
37 }
38 catch (System.Data.SQLite.SQLiteException ex)
39 {
40 throw new Exception(ex.Message);
41 }
42 return ds;
43 }
44 }
45
46 /// <summary>
47 /// 执行查询语句,返回DataTable
48 /// </summary>
49 /// <param name="SQLString"></param>
50 /// <returns></returns>
51 /// <exception cref="Exception"></exception>
52 public static DataTable GetDataTable(string SQLString)
53 {
54 using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))
55 {
56 DataTable dt = new DataTable();
57 try
58 {
59 connection.Open();
60 SQLiteDataAdapter command = new SQLiteDataAdapter(SQLString, connection);
61 command.Fill(dt);
62 }
63 catch (System.Data.SQLite.SQLiteException ex)
64 {
65 throw new Exception(ex.Message);
66 }
67 return dt;
68 }
69 }
70
71 /// <summary>
72 /// 执行操作语句,返回成功与否
73 /// </summary>
74 /// <param name="SQLString"></param>
75 /// <returns></returns>
76 public static bool RunSQL(string SQLString)
77 {
78 using (SQLiteConnection connection = new SQLiteConnection(GetSqlConnectionString()))
79 {
80 try
81 {
82 connection.Open();
83 SQLiteCommand cmd = connection.CreateCommand();
84 cmd.CommandText = SQLString;
85 cmd.ExecuteNonQuery();
86 return true;
87 }
88 catch (Exception ex)
89 {
90 return false;
91 }
92 }
93 }
94 }
95 }

  那么到这里,SQLite 的安装和使用已经结束了。如果你的项目中有部分数据是不需要存储到线上服务器,只需要留存在用户本地的话,使用 SQLite 是个很好的选择,根据项目实际情况而定。

  比如,我在用户使用输入框时,保存了用户的搜索记录,下次用户再搜索时,可将以往的记录展示出来,虽然可以保存在缓存中,但是缓存容易丢失,使用 SQLite 只要数据库文件还在,数据没删,随时可以使用,而且性能也还不错。

  

Sqlite 安装操作使用的更多相关文章

  1. Unity3D连接sqlite数据库操作C#版

    unity3d有自己对应的sqlite.dll分别需要三个文件 1.Mono.Data.Sqlite.dll 在unity安装文件“Unity\Editor\Data\MonoBleedingEdge ...

  2. SQLite安装、编译与应用

    什么是 SQLite SQLite是一款轻量级的.基于文件的嵌入式数据库,实现自包容.零配置.支持事务的SQL数据库引擎.与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下, ...

  3. [python]用Python进行SQLite数据库操作

    用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~  ]: u ...

  4. C# SQLite 数据库操作

    C# SQLite 数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0 参考: SQLite 官网 SQL As Understood By SQL ...

  5. 【Android】实验8 SQLite数据库操作2016.5.12

    实验8  SQLite数据库操作 [目的] 设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面. [要求] 程序主界面是通讯录的目录显示手机 ...

  6. sqlite 安装与编译

    本文简述了SQLite的概念,并详细描述了SQLite在Linux和Windows平台下的编译方法 关于 SQLite SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 ...

  7. 实验8 SQLite数据库操作

    实验报告 课程名称 实验8  SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型    √设计型    □综合型 学  时 一 ...

  8. 我的Android六章:Android中SQLite数据库操作

    今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...

  9. windows2003最详细的安装操作步骤.(最详细)

    以下为windows2003的安装操作步骤,由于安装操作步骤较多,安装可能需要一定的实际安装经验.安装时请参照此文档一步步完成安装. 一.首先准备好Windows2003安装光盘CD1,将CD1光盘放 ...

随机推荐

  1. 如何结合整洁架构和MVP模式提升前端开发体验 - 整体架构篇

    本文不详细介绍什么是整洁架构以及 MVP 模式,自行查看文章结尾相关链接文章. 整洁架构粗略介绍 下图为整洁架构最原始的结构图: Entities/Models:实体层,官方说法就是封装了企业里最通用 ...

  2. 「学习笔记」单调队列优化dp

    目录 算法 例题 最大子段和 题意 思路 代码 修剪草坪 题意 思路 代码 瑰丽华尔兹 题意 思路 代码 股票交易 题意 思路 代码 算法 使用单调队列优化dp 废话 对与一些dp的转移方程,我们可以 ...

  3. pod资源的健康检查-liveness探针的httpGet使用

    使用liveness探针httpget方式检测pod健康,httpGet方式使用的最多 [root@k8s-master1 tanzhen]# cat nginx_pod_httpGet.yaml a ...

  4. 存储更弹性,详解 Fluid “ECI 环境数据访问” 新功能

    近期,Fluid 支持了阿里云 ECI 应用,并将 JuiceFS Runtime Controller 设置为默认安装:JuiceFS 也就此功能与 Fluid 完成了集成和测试工作. 用户可以在 ...

  5. eReplication详解

    eReplication简介 eReplication是一款基于华为存储复制.快照.双活.克隆以及FusionSphere主机复制等特性,保证上层应用数据一致性,针对华为典型容灾解决方案,提供可视化. ...

  6. KingbbaseES V8R6集群维护案例之---集群之间数据迁移

    案例说明: 生产环境是集群环境,测试环境是集群,现需要将生产环境的数据迁移到测试集群中运行,本文档详细介绍了从集群环境迁移数据的操作步骤,可以作为生产环境迁移数据的参考. 适用版本: Kingbase ...

  7. KingbaseES 的行列转换

    目录 背景 行转列 数据准备 分组聚合函数+CASE 根据压缩数据的格式,横向展开数据列选取不同方式 crosstab函数 PIVOT 操作符 PIVOT 操作符的限制 工具 ksql 的元命令 \c ...

  8. Java开发学习(三十一)----Maven属性与版本管理

    一.属性 1.1 问题分析 如下图所示 你会发现,如果现在想更新Spring的版本,你会发现依然需要更新多个jar包的版本,这样的话还是有可能出现漏改导致程序出问题,而且改起来也是比较麻烦. 问题清楚 ...

  9. 开源即时通讯GGTalk 8.0发布,增加Linux客户端,支持在统信UOS、银河麒麟上运行!

    GGTalk在2021年推出7.0后,经过一年多时间的开发,终于推出8.0版本,实现了Linux客户端. 这几年,信创国产化的势头越来越猛,政府事企业单位都在逐步转向使用国产OS.国产CPU.国产数据 ...

  10. Java中的Optional

    在我们日常的开发中,我们经常会遇到 NullPointerException.如何才能优雅的处理NPE?这里告诉大家一个较为流行的方法 java.util.Optional 使用Optional来修饰 ...