--结合Enterprise Library连接,操作SQLite

  企业库是我们常用的框架之一,可以从http://entlib.codeplex.com/下载Enterprise Library 5.0.msi。安装之后有源代码和chm的文档。里面的很多思想更值得我们程序员去研究。
企业库中的数据访问组件更是我们常用的数据访问组件之一。组件默认支持SQL Server和Oracle的数据库访问,支持自定义的扩展。

--使用企业库操作SQLite数据库
需要用到企业库的一个扩展组件,Enterprise Library Contrib 。里面扩展了企业库的很多功能。其中对数据库的扩展包括了访问操作SQLite,让我们可以像在操作SQL SERVER那样,
保持代码不用很大的修改,可以很容易的过渡到SQLite上。在http://entlib.codeplex.com/上也可以下载到最新的entlibcontrib-5.0.505.0-2011-10-29-bin.zip。

--SQLite.NET也是一个数据访问组件
其中的System.Data.SQLite就好像是.NET自带的System.Data.SqlClient一样。里面包含了connection、command等数据访问的常用对象,只是他们前面都有一个前缀sqlite。
下载地址: http://sqlite.phxsoftware.com/下载最新版SQLite,SQLite-1.0.66.0-setup.exe,安装完成后会生成动态链接库System.Data.SQLite.DLL,在项目中直接引用System.Data.SQLite即可。
只有使用SQLite.NET访问SQLite时才需要此操作。

--SQLite Expert是一款可视化的数据库管理工具
允许用户在 SQLite 服务器上执行创建、编辑、复制、提取等操作。SQLite Expert支持所有的图形界面的SQLite特征。它包括一个可视化查询生成器,一个SQL编辑与语法突出和代码自动完成,
强大的table和view设计与导入导出功能。 SQLite Expert现在分为两个版本,一个是免费的Personal Edition,一个是收费 Professional Edition。

--连接方法
首先在web.config或者是app.config中添加如下配置,connectionstring配置节的db就是 SQLite的数据库文件,将它放在Web应用的App_Data目录,|DataDirectory|就代表这个目录的位置,
后面的就是文件名,剩下的就是我们使用企业库访问SQL Server是一样的了。

<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,
Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null />
</configSections>
<dataConfiguration defaultDatabase=" ">
<providerMappings>
<add databaseType="EntLibContrib.Data.SQLite.SQLiteDatabase, EntLibContrib.Data.SqLite, Version=4.1.0.0, Culture=neutral, PublicKeyToken=null"
name="System.Data.SQLite" />
</providerMappings>
</dataConfiguration>
<connectionStrings>
<add name="sqlite" connectionString="Data Source=|DataDirectory|\db;Pooling=true;FailIfMissing=false"
providerName="System.Data.SQLite" />
</connectionStrings>
</configuration>

--使用SQLite.NET访问SQLite
添加System.Data.SQLite的引用之后。在配置文件(web.config or app.config)中添加如下配置,
也就是添加一个DbProviderFactory的创建源,在代码中就可以使用DbProviderFactory类来创建SQLite的数据访问对象了。

<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SQLite"/>
<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" />
</DbProviderFactories>
</system.data>

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

DbProviderFactory fact = DbProviderFactories.GetFactory("System.Data.SQLite");
using (DbConnection conn = fact.CreateConnection())
{
conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;
conn.Open();
DbCommand comm = conn.CreateCommand();
comm.CommandText ="select * from customer";
comm.CommandType = CommandType.Text;
using (IDataReader reader = comm.ExecuteReader())
{
while (reader.Read())
{
Response.Write(reader[]);
}
}
}

C#连接SQLite数据库方法的更多相关文章

  1. Python3实现连接SQLite数据库的方法

    本文实例讲述了Python3实现连接SQLite数据库的方法,对于Python的学习有不错的参考借鉴价值.分享给大家供大家参考之用.具体方法如下: 实例代码如下: ? 1 2 3 4 5 6 7 8 ...

  2. VS2010连接SQLite数据库

    Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:This is the only setu ...

  3. 一起学微软Power BI系列-使用技巧(6) 连接Sqlite数据库

    好久没有研究Power BI了,看到高飞大神弄的东西,太惭愧了.今天有个小东西,数据在Sqlite里面,想倒腾到Power BI Desktop里面折腾一下,结果发现还不直接支持.所以只好硬着头皮上去 ...

  4. VS2010上连接SQLite数据库

    VS2010连接SQLite数据库 Visual studio 2010及以上版本,连接SQLite数据库 1.在Sqlite开发站点下载SQLite的.exe安装包 Ctrl+F搜索这条语句:Thi ...

  5. Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表,以及同步和异步执行模式)

    系列文章导航 Adobe AIR中使用Flex连接Sqlite数据库(1)(创建数据库和表) Adobe AIR中使用Flex连接Sqlite数据库(2)(添加,删除,修改以及语句参数) Adobe ...

  6. C++连接sqlite数据库的坑

    新的第一次用vs2013搞 C++连接sqlite数据库,遇到了很多问题,我也不搞不懂~~~下面写点小体会 首先: 你要先配置好sqlite的环境 参考链接: https://blog.csdn.ne ...

  7. R语言-连接MySQL数据库方法

    版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   R语言连接数据库常用的方法有2种: 1.使用R数据库接口 连接MySQL,使用RMySQL包,使用前RMySQL包要先安 ...

  8. Delphi 2010下使用sqlitesimpledelphi连接SQLite数据库及中文乱码问题的解决

    应女朋友的要求,要写一款销售管理的软件.用于管理服装店每天的销售记录,已及管理服装店的客户,并对客户进行生日提醒 因为之前使用C#写过一款家庭管理软件,主要是自己用,所以使用了服务器型数据库MySQL ...

  9. python web开发-flask连接sqlite数据库

    在之前的文章中我们介绍了如何在centOS中安装sqlite数据库. Sqlite安装完成后,本节就用flask来连接和操作sqlite数据库. 1.       数据准备 先在sqlite3中创建一 ...

随机推荐

  1. linux清空日志文件内容 (转)

    随着系统运行时间越来越长,日志文件的大小也会随之变得越来越大.如果长期让这些历史日志保存在系统中,将会占用大量的磁盘空间.用户可以直接把这些日志文件删除,但删除日志文件可能会造成一些意想不到的后果.为 ...

  2. Oracle11g安装出现em.ear

    在windows 7下安装Oracle 11g R2 时大概安装到45%时 提示找不到em.ear文件,如果点击继续还会出现其他错误,最后安装不成功. 检查文件发现另外一个zip没有解压 解压第二个压 ...

  3. 利用 Jquery Deferred 异步你的程序

    最近在做公司QA系统改造时,有这样的一个场景. QA系统中有些数据项需要从JIRA平台(一个国外项目与事务跟踪工具)中获取,JIRA平台提供了很完善的Rest API. 现在的要求是,在QA系统中提交 ...

  4. Linux securecrt破解

    其实,以前接触过破解的东西,但是很多东西早就忘记了,何况是在Linux环境下. 结果我常识更改时间,哦,不是更改日期,往后推4天,结果显示了26 days remaining. 所以完全可以更改日期来 ...

  5. Emmet使用手册

    语法:   1.后代:> 缩写:nav>ul>li   < nav>     < ul>         < li></ li >   ...

  6. BITED数学建模七日谈之五:怎样问数学模型问题

    下面进入数学建模经验谈第五天:怎样问数学模型问题 写这一篇的目的主要在于帮助大家能更快地发现问题和解决问题,让自己的模型思路有一个比较好的形成过程. 在我们学习数学模型.准备比赛的时候,经常会遇到各种 ...

  7. 2013年19个最棒的HTML5网站模板免费下载

    上次我们整理了14个HTML5奉献给大家下载了,今天我再给大家整理了19个2013最新的HTML5模板供有需要的朋友下载使用,它们涉及不同的行业的模板需求,支持手机设备,十分精美! 1. Affini ...

  8. CentOS下挂在NTFS分区

    本文参考自http://www.cnblogs.com/gbyukg/archive/2011/11/02/2232343.html centos下想访问NTFS分区,现在普遍的方法是利用ntfs-3 ...

  9. JavaScript面向对象(01)--函数

    在JavaScript中,函数和对象有区别,也有联系, 首先函数是一个对象,但是和对象存在一些区别如下: 1,不论在java还是js中,如果把一个对象赋值给另一个变量,那么,后者会指向前者对象所在的内 ...

  10. python添加windows域验证

    1.安装python-ldap https://pypi.python.org/pypi/python-ldap/ 在 Ubuntu/Debian 下安装 python-ldap 模块: $ sudo ...