概述
操作sqlite数据库之前你必须了解:ADO.NET、数据提供程序等知识点,以下简单介绍。
ADO.NET是微软公司提供的一款全新的数据库访问技术,是在.NET Framework中负责数据访问的类库集;
可以将ADO.NET比喻为数据库应用程序和数据源之间的桥梁,提供了一个面向对象的数据访问架构;
优势:
可以在数据源完全断开连接的情况下,对数据进行更新修改,再将数据的更新情况返回至数据源。这样可以减少由于数据库连接过多而引起服务器资源被占用的情况。.
ADO.NET框架封装了访问Sqlite数据库的操作,位于Microsoft.Data.Sqlite命名空间中。
C#代码中使用时候 需要引入Microsoft.Data.Sqlite命名空间。
注意:用于 SQLite 的 Entity Framework Core 提供程序就是基于此库而构建。 但Microsoft.Data.Sqlite还可以单独使用,也可以与其他数据访问库一起使用。
ADO.NET体系结构
在ADO.NET中,用于访问和操作数据库的两种主要组件:.NET Framework数据提供程序、数据集DataSet。
1,.NET Framework数据提供程序( 数据库管理员)
是专为数据操作设计的组件,用于处理不同的数据源,支持访问特定数据库、执行SQl命令和检索结果;
它为不同的数据提供程序(Data Providers)对象,其中主要的四类如下:
Data Providers:个人理解为数据库管理员,桌面软件和数据库之间的那一层。翻译为:数据提供器、数据提供程序。
2,数据集DataSet
DataSet 对象是一个存在于内存中的数据库,在 ADO.NET 中处于核心地位。是用于在内存中缓存来自数据源的数据的一个类,包含一个或多个DataTable对象的集合。
访问sqlite数据库的流程图
ADO.Net访问mysql\sqlite\sql等数据库 流程都一样,只是相应类名前缀不同。
具体代码
案例一:Login界面
public bool AuthenticateUser(NetworkCredential credential) { bool validauer; using(var connection = Getconntion()) using(var command=new SqliteCommand()) { connection.Open(); command.Connection = connection; command.CommandText = "select * from [userinfo] where username=@username and password=@password"; command.Parameters.Add("@username", SqliteType.Text); command.Parameters["@username"].Value = credential.UserName; // command.Parameters.Add("@username", SqlDbType.VarChar).Value = credential.UserName; command.Parameters.Add("@password", SqliteType.Text).Value = credential.Password; validauer = command.ExecuteScalar() == null ? false:true; } return validauer; }
辅助类
using Microsoft.Data.SqlClient; using Microsoft.Data.Sqlite; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Spider.Repositories { public abstract class RepositoryBase { private readonly string _connectionstring; public RepositoryBase() { _connectionstring = ConfigurationManager.ConnectionStrings["SpiderString2"].ConnectionString; } public SqliteConnection Getconntion() { return new SqliteConnection(_connectionstring); } } }
标签:sqlite,C#,数据库,command,ADO,using,NET,Data From: https://www.cnblogs.com/cdaniu/p/16709722.html