C#调用SQLite的方法实例分析
作者:聪明的笨蛋 时间:2022-09-25 06:02:22
本文实例讲述了C#调用SQLite的方法。分享给大家供大家参考。具体分析如下:
一、SQLite简介:
当我们用到海量数据时一般会用Oracle,SQL Server,DB2,Sybase,MySQL等数据库来保存和管理数据.如果只是程序中需要保存少量数据的话直接整到注册表里,或者保存到一个XML文件中.那如果数据量刚好不多不少,用Oracle这样的数据库有点小题大作,没有必要.有个XML保存的话存取速度又比较慢.咋整呢?这时用SQLite这个小型的嵌入式数据库就是非常理想的选择.它用起来也很简单方便.
SQLite不需要像Oracle等数据库一样得安装,配置,然后又是啥服务器端客户端啥的.它很简单就直接一个小小的文件,以db为后缀的文件.大小就几十K.你不用干其他啥事,把它拷过来直接用就行.像操作一个普通的txt文件一样.不过觉得把它当作一个文件还是有点不妥.我们应该可以这样理解,它有点像库函数,或COM组件,dll.然后提供了一些接口给你调用..SQLite是开源的,你要下载它和查看它的C源代码可以去官方网站http://www.sqlite.org/
当然有人会问那如果我们不在某个程序中通过接口调用SQLite,而只像一般的数据库那样通过图形界面操作咋整啊? 你可以用一个叫SQLiteBrowser的工具,下载下来解压缩,不用安装,直接双击里面的exe文件打开一个图形界面.然后点击菜单File -->open database,找到那个db文件就行.然后在图形界面上可以查看表中数据,新建表啥的.不过SQLite是没有啥权限控制的,用户名密码都没,谁都能拿来打开.所以里面要是保存啥秘密信息的话最好先加密后再保存.
SQLite是用C语言开发的,所以用C和C++去调用是一点问题都没.不过用C#也能调用,只不过要用到一个dll,这里我就讲下怎么用C#调用SQLite.
二、C#调用SQLite
1.首先得去网上下载一个叫System.Data.SQLite.dll的文件
2.跟添加其他dll一样,先Add Reference添加此dll
3.添加命名空间using System.Data.SQLite
4.接下来就是写代码了
string connectString = @"Data Source=D:\SQLite.db;Pooling=true;FailIfMissing=false";
/*D:\sqlite.db就是sqlite数据库所在的目录,
它的名字你可以随便改的*/
SQLiteConnection conn = new SQLiteConnection(connectString);
//新建一个连接
conn.Open();
//打开连接,如果sqlite.db存在就正常打开,
//如果不存在则创建一个SQLite.db文件
SQLiteCommand cmd = conn.CreateCommand();
cmd.CommandText = "select * from orders";
//数据库中要事先有个orders表
cmd.CommandType = CommandType.Text;
using (SQLiteDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
Console.WriteLine( reader[0].ToString());
}
用法其实跟平时用C#操作一般的数据库差不多.
另外如果要用到Linq的话得用到另外一个dll文件,System.Data.SQLite.Linq.dll
希望本文所述对大家的C#程序设计有所帮助。
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java多线程之ThreadLocal浅析
![](https://img.aspxhome.com/file/2023/0/57500_0s.webp)
Java 反射调用静态方法的简单实例
IDEA设置maven修改settings.xml配置文件无法加载仓库的解决方案
![](https://img.aspxhome.com/file/2023/5/66235_0s.png)
Java中try catch处理异常示例
Java 遍历取出Map集合key-value数据的4种方法
![](https://img.aspxhome.com/file/2023/0/71640_0s.png)
Java 网络编程socket编程等详解
SpringBoot绿叶显示yml和端口问题及解决方法
![](https://img.aspxhome.com/file/2023/5/62775_0s.png)
mybatis错误之in查询 <foreach>循环问题
说说在Spring中如何引用外部属性文件的方法
![](https://img.aspxhome.com/file/2023/2/77152_0s.png)
Spring BeanDefinition使用介绍
![](https://img.aspxhome.com/file/2023/5/59945_0s.png)
Spring Boot自动配置的原理及@Conditional条件注解
![](https://img.aspxhome.com/file/2023/1/61791_0s.png)
java前后端加密解密crypto-js的实现
java,android,MD5加密算法的实现代码(16位,32位)
SpringMVC拦截器创建配置及执行顺序
![](https://img.aspxhome.com/file/2023/1/62351_0s.png)
Spring MVC请求参数的深入解析
![](https://img.aspxhome.com/file/2023/3/61573_0s.png)
详解JAVA中priorityqueue的具体使用
![](https://img.aspxhome.com/file/2023/2/68222_0s.png)
Java中文件操作功能小结
![](https://img.aspxhome.com/file/2023/8/87348_0s.webp)
spring缓存自定义resolver的方法
![](https://img.aspxhome.com/file/2023/9/76259_0s.png)
Java中clone方法使用笔记
![](https://img.aspxhome.com/file/2023/6/83146_0s.png)
C# 实现FTP客户端的小例子
![](https://img.aspxhome.com/file/2023/6/91366_0s.png)