Sqlite 安装操作使用
一、什么是 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 安装操作使用的更多相关文章
- Unity3D连接sqlite数据库操作C#版
unity3d有自己对应的sqlite.dll分别需要三个文件 1.Mono.Data.Sqlite.dll 在unity安装文件“Unity\Editor\Data\MonoBleedingEdge ...
- SQLite安装、编译与应用
什么是 SQLite SQLite是一款轻量级的.基于文件的嵌入式数据库,实现自包容.零配置.支持事务的SQL数据库引擎.与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下, ...
- [python]用Python进行SQLite数据库操作
用Python进行SQLite数据库操作 1.导入Python SQLITE数据库模块 Python2.5之后,内置了SQLite3,成为了内置模块,这给我们省了安装的功夫,只需导入即可~ ]: u ...
- C# SQLite 数据库操作
C# SQLite 数据库操作学习 运行环境:Window7 64bit,.NetFramework4.61,C# 7.0 参考: SQLite 官网 SQL As Understood By SQL ...
- 【Android】实验8 SQLite数据库操作2016.5.12
实验8 SQLite数据库操作 [目的] 设计一个个人通讯录,掌握Android平台下的数据库开发,该个人通讯录主要包括联系人列表和联系人详细信息等界面. [要求] 程序主界面是通讯录的目录显示手机 ...
- sqlite 安装与编译
本文简述了SQLite的概念,并详细描述了SQLite在Linux和Windows平台下的编译方法 关于 SQLite SQLite是一个进程内的库,实现了自给自足的.无服务器的.零配置的.事务性的 ...
- 实验8 SQLite数据库操作
实验报告 课程名称 实验8 SQLite数据库操作 实验日期 2016.5.6 实验项目名称 多媒体应用开发 实验地点 S30010 实验类型 □验证型 √设计型 □综合型 学 时 一 ...
- 我的Android六章:Android中SQLite数据库操作
今天学习的内容是Android中的SQLite数据库操作,在讲解这个内容之前小编在前面有一篇博客也是讲解了SQLite数据库的操作,而那篇博客的讲解是讲述了 如何在Window中通过DOM来操作数据库 ...
- windows2003最详细的安装操作步骤.(最详细)
以下为windows2003的安装操作步骤,由于安装操作步骤较多,安装可能需要一定的实际安装经验.安装时请参照此文档一步步完成安装. 一.首先准备好Windows2003安装光盘CD1,将CD1光盘放 ...
随机推荐
- 一篇文章教你学会ASP.Net Core LINQ基本操作
一篇文章教你学会ASP.Net Core LINQ基本操作 为什么要使用LINQ LINQ中提供了很多集合的扩展方法,配合lambda能简化数据处理. 例如我们想要找出一个IEnumerable< ...
- LSB隐写术
此为北京理工大学某专业某学期某课程的某次作业 一.项目背景 1.隐写术 隐写术是一门关于信息隐藏的技巧与科学,所谓信息隐藏指的是不让除预期的接收者之外的任何人知晓信息的传递事件或者信息的内容. 2.L ...
- R语言-tidyr和dplyr
一.安装和加载 1.安装并加载tidyr和dplyr包 install.packages("tidyr") library(tidyr) install.packages(&quo ...
- 《Java基础——数组的定义与使用》
Java基础--数组的定义与使用 一. 一维数组: 格式一: 数组类型 数组变量[]=new 数据类型[长度]; //需要后续赋值,且后续赋值时只能为单个元素赋值. 或 数组类型 数组变量 ...
- 搭建Elasitc stack集群需要注意的日志问题
文章转载自:https://blog.csdn.net/u013613428/article/details/84943577 {{uploading-image-736853.png(uploadi ...
- Kubernetes DevOps: Tekton
Tekton 是一款功能非常强大而灵活的 CI/CD 开源的云原生框架.Tekton 的前身是 Knative 项目的 build-pipeline 项目,这个项目是为了给 build 模块增加 pi ...
- Python解释器路径寻找规则
Python编辑器路径寻址总结 Python编程优化 这场表演邀请了三位角色:run.sh.main.py.path.sh,拍摄场地选在了 Windows -> Git Bash 群演1号 ru ...
- 如何通过执行SQL为低代码项目提速?
见多了SQL为代码开发提速,那么当低代码遇到SQL会擦出怎样的火花呢?本文将低代码和SQL结合进行介绍,让大家了解如何通过执行SQL为低代码项目提速. 背景 自从计算机诞生的一刻起,如何让计算机能够按 ...
- 关于WinSCP如何通过Tunnel隧道进行远程连接-进行文件的传输
对于公司业务相关的重要的Linux服务器,一般都会限制源IP登录,一般就会使用到jumper server(跳板机) 这样一来,我们的Client就无法直接ssh/scp/sftp到目标服务器了,这样 ...
- 220726 T3 最优化问题 (树状数组)
题目描述 在同学们的努力下, 高匀感受到了 alb 的快乐. 高勺意犹未尽,找来了一个长度为 nn 的序列 a_1,a_2,-.,a_na1,a2,-.,an . 她想要删除这个序列中的 kk ...