网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计资源 > .Net编程 > 正文

C#连接SQLite的...方法

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务

1 SQLite简介

  SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。

  官方网站:http://www.sqlite.org/

      详细简介:http://baike.baidu.com/view/19310.htm

2 C#连接,操作SQLite数据库

  

2.1 结合Enterprise Library连接,操作SQLite

   企业库是我们常用的框架之一,可以从http://entlib.codeplex.com/下载。安装之后有源代码和chm的文档。最新版本目前是V5.0。里面的很多思想更值得我们程序员去研究,例如:如何设计可扩展的组建?

  企业库中的数据访问组件更是我们常用的数据访问组件之一。组件默认支持SQL Server和Oracle的数据库访问,支持自定义的扩展。

  使用企业库操作SQLite数据库,需要用到企业库的一个扩展组件,Enterprise Library Contrib 。里面扩展了企业库的很多功能。其中对数据库的扩展包括了访问操作SQLite,让我们可以像在操作SQL SERVER那样,保持代码不用很大的修改,可以很容易的过渡到SQLite上。

  遗憾的是目前的这个entlib contrib的版本是V4.1,它只支持企业库的V4.1版本,也就是说它只能和V4.1版本的企业库的数据访问组件配合使用。否则会报错。

  在http://entlib.codeplex.com/上也可以下载到历史版本,也就是可以下载到V4.1。

  用法也可以参考:ASP.NET: Using SQLite with Enterprise Library 3.1

  首先在web.config或者是app.config中添加如下配置

  1. <configuration> 
  2.  <configSections> 
  3.  <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutralPublicKeyToken=null /> 
  4.  </configSections> 
  5.  <dataConfiguration defaultDatabase=" "> 
  6.  <providerMappings> 
  7.  <add databaseType="EntLibContrib.Data.SQLite.SQLiteDatabase, EntLibContrib.Data.SqLite, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null" 
  8.  name="System.Data.SQLite" /> 
  9.  </providerMappings> 
  10.  </dataConfiguration> 
  11.  <connectionStrings> 
  12.  <add name="sqlite" connectionString="Data Source=|DataDirectory|\db;Pooling=true;FailIfMissing=false" 
  13.  providerName="System.Data.SQLite" /> 
  14.  </connectionStrings> 
  15. </configuration> 

上面的connectionstring配置节的db就是SQLite的数据库文件,将它放在Web应用的App_Data目录,|DataDirectory|就代表这个目录的位置,后面的就是文件名。

  剩下的就是我们使用企业库访问SQL Server是一样的了。

  1. Database db=DatabaseFactory.CreateDatabase ("ConnectionString");  
  2.  DbCommand comm = db.GetStoredProcCommand("GetUserByID");  
  3.  IDataReader reader = null;  
  4.  db.AddInParameter(comm, "UserID", DbType.String, "12");  
  5.  using (reader = db.ExecuteReader(comm))  
  6.  {  
  7.    

2.2 使用SQLite.NET访问SQLite

  SQLite.NET也是一个数据访问组件,其中的System.Data.SQLite 就好像是.NET自带的System.Data.SqlClient一样。里面包含了connection、command等数据访问的常用对象,只是他们前面都有一个前缀sqlite。

  下载地址:  http://sqlite.phxsoftware.com/

   添加System.Data.SQLite 的引用之后。在配置文件(web.config or app.config)中添加如下配置

  1. <system.data> 
  2.  <DbProviderFactories> 
  3.  <remove invariant="System.Data.SQLite"/> 
  4.  <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139" /> 
  5.  </DbProviderFactories> 
  6.  </system.data> 

也就是添加一个DbProviderFactory的创建源,在代码中就可以使用DbProviderFactory类来创建SQLite的数据访问对象了

  1. DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");  
  2.  using (DbConnection conn = fact.CreateConnection())  
  3.  {  
  4.  conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;  
  5.  conn.Open();  
  6.  DbCommand comm = conn.CreateCommand();  
  7.  comm.CommandText = "select * from customer";  
  8.  comm.CommandType = CommandType.Text;  
  9.  using (IDataReader reader = comm.ExecuteReader())  
  10.  {  
  11.  while (reader.Read())  
  12.  {  
  13.  Response.Write(reader[0]);  
  14.  }  
  15.  }  
  16.  } 

2.3 使用原生态的ADO.NET访问SQLite

  原生态的访问,就是说直接用connection和command这些对象打开数据库,然后打开连接,进行数据的操作。

  1. using (DbConnection conn = new SQLiteConnection( System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString))  
  2.  {  
  3.  conn.Open();  
  4.  DbCommand comm = conn.CreateCommand();  
  5.  comm.CommandText = "select * from customer";  
  6.  comm.CommandType = CommandType.Text;  
  7.  using (IDataReader reader = comm.ExecuteReader())  
  8.  {  
  9.  while (reader.Read())  
  10.  {  
  11.  Response.Write(reader[0]);  
  12.  }  
  13.  }  
  14.  } 

3 SQLite的相关工具

 

3.1 SQLite Database Browser

  

  既然SQLite是一个数据库,那么我们肯定想要一个GUI工具来操作这个数据库,进行管理。创建库、表、执行SQL语句等操作都可以在一个GUI上进行操作就好了。SQLite Database Browser就是这样的一款工具,下载地址:http://sqlitebrowser.sourceforge.net/

  

 

  在上图中看到三个tab:Database Structure,Browser Data,Execute SQL。

  通过第一个可以查看数据库的结构,第二个可以浏览数据,第三个可以执行任何SQL语句,下面可以显示sql语句的执行结果。这个工具还可以进行数据库的管理工作

设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师