或许有人之前在java开发中使用过SQLite,对它有些印象。在用Winform或Wpf开发小应用程序时,发现用SQLite数据库也是不错的。就像一个会员管理软件,开发完毕后,可以省去想sqlserver那些复杂的操作。软件安装时,不需要额外的数据库环境,简单、便捷。看到这里,您是否对SQLite感兴趣呢?下面来看一下关于如何C#操作SQLite数据库的问题。

  SQLite介绍

  SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine.

SQLite是一个开源、免费的小型的EmbeddableRDBMS(关系型数据库),用C实现,内存占用较小,支持绝大数的SQL92标准,现在已变得越来越流行,它的体积很小,被广泛应用于各种不同类型的应用中。SQLite已经是世界上布署得最广泛的sql数据库引擎,被用在无以计数的桌面电脑应用中,还有消费电子设备中,如移动电话、掌上电脑和MP3播放器等。

  SQLite的关键字列表,支持的sql语法

  简单介绍如下:

  System.Data.SQLite是一个原始SQLite的加强版.它将是一个原版的sqlite3.dll完全替代品(你甚至就可以把它重命名为sqlite3.dll).它不需要链接.NET运行时,所以可以脱离.NET独立发布,然而它内嵌了一个完整的ADO.NET2.0引擎,为开发提供了完整的支持.

  特性简介:

  完整的ADO.NET2.0实现

  整个工程完全基于VS2005和ADO.NET2.0全新构建,使用了全部的ADO.NETframework新特性.包括完整的DbProviderFactory支持,自动的分布式事务调用,广泛的模式支持,此外所有的类都是从ADO.NET2.0的基类继承下来的.

  支持完整和精简的.NETFramework以及C/C++

  ①这个库不需要链接依赖.NET运行时,100%兼容原始的sqlite3.dll,可以使用非托管的C/C++进行开发.

  可移植的数据库文件

  ①未加密的SQLite数据库文件可以自由的跨平台和处理器使用,包括非Windows平台.加密之后的数据库可以在全部Windows平台上使用.

  ②可以信赖的速度,比包括SqlServerMobile在内的其它大多数嵌入式数据库都要快速

  ③SQLite'安装所占用的空间相对于SqlMobile可谓忽略不计了.它在运行的时候占用更少的内存,同时生成的数据库也更小.

  数据库加密

  ①可以对整个数据库文件进行加密.支持二进制和明文的密码.

  支持使用VisualStudio2005设计

  ①你可以向ServerExplorer添加一个SQLite连接,使用查询设计器创建处查询语句,向一个数据集中拖拽一个表格等等!SQLite的开发者可以在包括体验版在内的各种VisualStudio2005下工作.

  单文件再发布包容量在400kb以下

  ①将SQLite本身和ADO.NET封装捆绑编译在一起.预编译的二进制文件提供了x86,IA64,x64和ARM的版本.

  广泛的SQL语言支持

  SQLite支持大部分的SQL92标准(seebelow).支持命名和未命名的参数以UTF-8和UTF-16编码通过优化的管道传入SQLite内核.

  用户自定义的函数和排序

  ①全面支持用户自定义函数和排序方式,意味着你可以用自己喜欢的.NET语言来实现SQLite没有提供的特性.这一切将非常的简单.

  提供了全部的源代码.100%免费.

  ①全部的封装库源代码都是公有的.无论是个人还是商业应用都没有任何的协议约束.

  下载不用安装就可使用,图形化界面,操作起来简单方便。

  C#使用SQLite步骤:

  (1)新建一个project

  (2)添加SQLite操作驱动dll引用

  (3)使用API操作SQLiteDataBase

  将一些常用的功能封装一下,封装成SQLiteHelper类 

如何C#操作SQLite数据库的更多相关文章

  1. Java操作Sqlite数据库-jdbc连接

    Java操作Sqlite数据库步骤: 1. 导入Sqlite jdbc 本文使用sqlite-jdbc-3.7.2.jar,下载地址 http://pan.baidu.com/s/1kVHAGdD 2 ...

  2. 无废话Android之android下junit测试框架配置、保存文件到手机内存、android下文件访问的权限、保存文件到SD卡、获取SD卡大小、使用SharedPreferences进行数据存储、使用Pull解析器操作XML文件、android下操作sqlite数据库和事务(2)

    1.android下junit测试框架配置 单元测试需要在手机中进行安装测试 (1).在清单文件中manifest节点下配置如下节点 <instrumentation android:name= ...

  3. EF6操作Sqlite数据库的项目兼容性问题

    vs2010无法正确打开2015创建的项目里面操作Sqlite数据库时使用EF6创建的edmx文件(会显示空白)   但是可以正常查询 vs2015无法正确打开2010创建的项目里面操作Sqlite数 ...

  4. EF操作sqlite数据库时的项目兼容性问题

    问题:vs2015打不开vs2010建的操作sqlite的实体数据模型edmx文件 原因: 当前电脑必须先安装:驱动库及sqlite的vs拓展 正常情况下安装驱动和拓展后,vs2015就应该可以正常打 ...

  5. JDBC访问及操作SQLite数据库

    SQLite 是一个开源的嵌入式关系数据库,其特点是高度便携.使用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同,SQLite 的安装和运行非常简单,在大多数情况下,只要确保SQLite的二进 ...

  6. UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库

    在应用中使用 SQLite 数据库来存储数据是相当常见的.在 UWP 平台中要使用 SQLite,一般会使用 SQLite for Universal Windows Platform 和 SQLit ...

  7. Android中操作SQLite数据库

    我又回到了安卓的学习当中,忙来忙去终于忙的差不多有时间做自己的事情了,这感觉实在是太棒了!!本来想写android的控件以及他们的监视器的,但是我查了查android的手册,基本上都能查到,但是查有些 ...

  8. .NET环境下,通过LINQ操作SQLite数据库

    //对应数据库中的某个表 [Table(Name = "main.Student")]    public class Student    {        [Column(Na ...

  9. Python 操作 SQLite 数据库

    写在之前 SQLite 是一个小型的关系型数据库,它最大的特点在于不需要单独的服务.零配置.我们在之前讲过的两个数据库,不管是 MySQL 还是 MongoDB,都需要我们安装.安装之后,然后运行起来 ...

随机推荐

  1. mysql 存储引擎介绍

    一  存储引擎解释 首先确定一点,存储引擎的概念是MySQL里面才有的,不是所有的关系型数据库都有存储引擎这个概念,后面我们还会说,但是现在要确定这一点. 在讲清楚什么是存储引擎之前,我们先来个比喻, ...

  2. 实时同步sersync

    1.1 sersync+rsync实现实时同步过程 第一个历程:安装sersync软件 将软件进行下载,上传到系统/server/tools目录中 下载软件地址:https://github.com/ ...

  3. Android viewpager + fragment取消预加载

    1,在fragment中重写setUserVisibleHint方法private boolean isVisibleToUser;@Overridepublic void setUserVisibl ...

  4. python3 提取http请求response中的某个值

    在使用python3 request做接口测试的时候,想获取response的json中的某个值做断言时,发现request好像没有相关的方法 所以只好自己找写一个了.在我看来,json就是一个字典, ...

  5. NET Core 不错教程***************

    Twinhead 当前标签: .Net Core   RabbitMQ教程 Twinhead 2019-01-26 20:02 阅读:5 评论:0     缓存击穿.缓存穿透和缓存雪崩 Twinhea ...

  6. java——单例模式

    这个教程写的真好:https://blog.csdn.net/mnb65482/article/details/80458571 1. 什么是单例模式? 单例模式确保某个类只有一个实例. 单例类必须自 ...

  7. python3 练习3

    ##c##写法 #include<iostream>using namespace std;class Rectangle{public:    int j;void area(int X ...

  8. SourceInsight,Understand,SecureCRT设置

    SourceInsight 设置字体 Option/Document  Option/Screen  Fonts   Understand https://scitools.com/download/ ...

  9. Matrix Chain Multiplication (堆栈)

    题目链接:https://vjudge.net/problem/UVA-442 题目大意:输入n个矩阵的维度和一些矩阵链乘表达式,输出乘法的次数.如果乘法无法进行,输出error. 假定A是m*n的矩 ...

  10. [转]AngularJS 使用 UI Router 实现表单向导

    本文转自:http://www.oschina.net/translate/angularjs-multi-step-form-using-ui-router 今天我们将使用AngularJs和伟大的 ...