或许有人之前在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. 3D电影转2D普通电影,电脑上看

    下了一些电影,打开发现是左右两个一样的画面,什么情况?原来这就是传说中的3D,怎么像正常电影一样的看呢?第一反应去搜3D眼镜,价钱倒是不贵,但是不应急呀,肿么办?以下是观看方法: 一.看电脑上有QQ影 ...

  2. 学习C/C++需要掌握哪些知识

    初级阶段 1.C语言 数据类型.变量.内存布局.指针基础: 字符串.一维数组.二维数组: 一级指针,二级指针,三级指针,N级指针概念,指针数组和数组指针: 结构体.文件的使用: 动态库的封装和设计: ...

  3. 读经典——《CLR via C#》(Jeffrey Richter著) 笔记_方法执行

    [前言] 方法执行前,CLR 会检测方法内代码引用的所有类型.同时 CLR 会分配一个内部数据结构,用来管理对所有引用的类型的访问. 首次执行方法时,托管程序集会把 IL 转换成本地 CPU 指令,并 ...

  4. hxml总结

    段落<p> br 换行 hr 分割线 &nbsp 空格 &gt  > &lt < &  &amp h        7级标题 <i ...

  5. gitlab 的安装、汉化、卸载

    新机 dell服务器 2核4G 官网: https://about.gitlab.com/install/ 1.本次安装选择版本v10.8.4 wget https://mirrors.tuna.ts ...

  6. jmeter使用总结

    1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具.用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域 ...

  7. silverlight vs2010 需要缺少的web组件才能加载

    在打开一个开源的Silverlight项目是遇到如图所示的问题,点击是后没有反应. 查了资料,需要安装微软的webpi(Microsoft Web Platform Installer) webpi的 ...

  8. 为什么我用gets不行呢?系统无视了我的存在!!!

    梗概:为什么我用gets不行呢?系统无视了我的存在!!!我还没输入东东啊..怎么就提示[请安任意键继续]的?? 原来是缓冲区的问题啊? 一.什么是缓冲区 缓冲区又称为缓存,它是内存空间的一部分.也就是 ...

  9. Tomcat WEB搭建+Nginx负载均衡动静分离+DNS解析的实验

    实验拓扑图: 实验环境: 在VMware workstation搭建虚拟环境,利用网络适配器的Nat和桥接模式模拟内网和外网环境. 实验过程中需要安装的工具包包括:vim unzip lrzsz ls ...

  10. 微信web开发者工具 && 微信调试页面

    微信开发者工具 做微信公众号的过程中,自然避免不了登录账号然后进行调试,但是在chrome上我们没有办法登录,这是一个令人头疼的问题,比如这个公众号网页,只会提示出错,因为开发者限制了公众号网页的登录 ...