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#程序设计有所帮助。
猜你喜欢
- 我们经常会看到有一些app的banner界面可以实现循环播放多个广告图片和手动滑动循环的效果。看到那样的效果,相信大家都会想到ViewPag
- 目录什么是Spring的占位符?Spring什么时候去解析并占位符什么是Spring的占位符?在以前的Spring Xml配置中我们可能会有
- 在使用struts多模块的,找到一些小技巧和经验,与大家分享一下。 关于多module的配置就不说了,只需要用不同的config
- 一般来说一个 HTML 文档有很多标签,比如“<html>”、“<body>”、“<table>”等,想
- Spring Cloud Gateway去掉url前缀主要是增加一个 route,其他配置不变routes: - id: ser
- 实践过程效果代码/** * https://zhima.blog.csdn.net/ */public partial class Form
- jdk * 和cglib * 实现及区别代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不
- 这篇文章主要介绍了MyBatis执行Sql的流程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- 一、是什么当下很多公司都采取前后端分离的开发模式,前端和后端的工作由不同的工程师完成。在这种开发模式下,维持一份及时更新且完整的 Rest
- Java for循环标签跳转到指定位置大家是否见过这种for循环,在for循环前加了个标记的:outerLoop:for (; ; ) {
- 本章目标整合 Mybatis ,并集成 Druid 数据源可视化监控 Druid 数据源使用 JPA 生成数据表利用注解实现数据库的事物利用
- 事件缘由:一个主项目“图说美物”,另外一个子功能是品牌商的入驻功能,是跟主项目分开的项目,为了共享登录的用户信息,而实现session共享,
- 😎 先看效果一人分饰多角(bushi)😏 后端代码🍗 先引入websocket依赖<!-- websocket消息推送 -->&
- 本文实例讲述了C#实现xml文件反序列化读入数据到object的方法。分享给大家供大家参考。具体实现方法如下:public static o
- Rmb.javapublic class Rmb { /** *人民币的基本信息和操作 *@auth
- 在Java中,泛型的引入是为了在编译时提供强类型检查和支持泛型编程。为了实现泛型,Java编译器应用类型擦除实现: &
- 词云简介“词云”由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)于2006年最先使用,是通过形成“关键词云层”
- 改了个bug,发现这个东西以前不知道,搜索了一下,看到的都是长篇大论,还谈js的源码,也是醉了。我就简单的说说这个是干啥的。简单说:就是触发
- 一、简介Lock关键字是Monitor的一种替换用法,lock在IL代码中会被翻译成Monitor. lock (obj) &nb
- 场景既然要搞懂Redis分布式锁,那肯定要有一个需要它的场景。高并发售票问题就是一个经典案例。搭建环境准备redis服务,设置redis的键