C#连接SQLite数据库方法总结_第1页
C#连接SQLite数据库方法总结_第2页
C#连接SQLite数据库方法总结_第3页
C#连接SQLite数据库方法总结_第4页
C#连接SQLite数据库方法总结_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C#连接SQLite数据库方法总结发布者:IT168日期:2010-03-2118:03:35浏览次数:113(共有0条评论)查看评论|我要评论

1.SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月.至今已经有10个年头,SQLite也迎来了一个版本SQLite3已经发布。官方网站:/2C#连接,操作SQLite数据库2.1结合EnterpriseLibrary连接,操作SQLite企业库是我们常用的框架之一,可以从/下载。安装之后有源代码和chm的文档。最新版本目前是V5.0。里面的很多思想更值得我们程序员去研究,例如:如何设计可扩展的组建?企业库中的数据访问组件更是我们常用的数据访问组件之一。组件默认支持SQLServer和Oracle的数据库访问,支持自定义的扩展。使用企业库操作SQLite数据库,需要用到企业库的一个扩展组件,EnterpriseLibraryContrib。里面扩展了企业库的很多功能。其中对数据库的扩展包括了访问操作SQLite,让我们可以像在操作SQLSERVER那样,保持代码不用很大的修改,可以很容易的过渡到SQLite上。遗憾的是目前的这个entlibcontrib的版本是V4.1,它只支持企业库的V4.1版本,也就是说它只能和V4.1版本的企业库的数据访问组件配合使用。否则会报错。在/上也可以下载到历史版本,也就是可以下载到V4.1。用法也可以参考:ASP.NET:UsingSQLitewithEnterpriseLibrary3.1首先在web.config或者是app.config中添加如下配置<configuration>

<configSections>

<sectionname="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data,Version=,Culture=neutral,PublicKeyToken=null/>

</configSections>

<dataConfigurationdefaultDatabase="

">

<providerMappings>

<adddatabaseType="EntLibContrib.Data.SQLite.SQLiteDatabase,EntLibContrib.Data.SqLite,Version=,Culture=neutral,PublicKeyToken=null"

name="System.Data.SQLite"/>

</providerMappings>

</dataConfiguration>

<connectionStrings>

<addname="sqlite"connectionString="DataSource=|DataDirectory|\db;Pooling=true;FailIfMissing=false"

providerName="System.Data.SQLite"/>

</connectionStrings>

</configuration>

上面的connectionstring配置节的db就是SQLite的数据库文件,将它放在Web应用的App_Data目录,|DataDirectory|就代表这个目录的位置,后面的就是文件名。剩下的就是我们使用企业库访问SQLServer是一样的了。Databasedb=DatabaseFactory.CreateDatabase("ConnectionString");

DbCommandcomm=db.GetStoredProcCommand("GetUserByID");

IDataReaderreader=null;

db.AddInParameter(comm,"UserID",DbType.String,"12");

using(reader=db.ExecuteReader(comm))

{

}

2.2使用SQLite.NET访问SQLiteSQLite.NET也是一个数据访问组件,其中的System.Data.SQLite就好像是.NET自带的System.Data.SqlClient一样。里面包含了connection、command等数据访问的常用对象,只是他们前面都有一个前缀sqlite。下载地址:/添加System.Data.SQLite的引用之后。在配置文件(web.configorapp.config)中添加如下配置<system.data>

<DbProviderFactories>

<removeinvariant="System.Data.SQLite"/>

<addname="SQLiteDataProvider"invariant="System.Data.SQLite"description=".NetFrameworkDataProviderforSQLite"type="System.Data.SQLite.SQLiteFactory,System.Data.SQLite,Version=,Culture=neutral,PublicKeyToken=db937bc2d44ff139"/>

</DbProviderFactories>

</system.data>

也就是添加一个DbProviderFactory的创建源,在代码中就可以使用DbProviderFactory类来创建SQLite的数据访问对象了。DbProviderFactoryfact=DbProviderFactories.GetFactory("System.Data.SQLite");

using(DbConnectionconn=fact.CreateConnection())

{

conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;

conn.Open();

DbCommandcomm=conn.CreateCommand();

comm.CommandText="select*fromcustomer";

comm.CommandType=CommandType.Text;

using(IDataReaderreader=comm.ExecuteReader())

{

while(reader.Read())

{

Response.Write(reader[0]);

}

}

}2.3使用原生态的ADO.NET访问SQLite原生态的访问,就是说直接用connection和command这些对象打开数据库,然后打开连接,进行数据的操作。using(DbConnectionconn=newSQLiteConnection(System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString))

{

conn.Open();

DbCommandcomm=conn.CreateCommand();

comm.CommandText="select*fromcustomer";

comm.CommandType=CommandType.Text;

using(IDataReaderreader=comm.ExecuteReader())

{

while(reader.Read())

{

Response.Write(reader[0]);

}

}

}

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

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

1.SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月.至今已经有10个年头,SQLite也迎来了一个版本SQLite3已经发布。官方网站:/2C#连接,操作SQLite数据库2.1结合EnterpriseLibrary连接,操作SQLite企业库是我们常用的框架之一,可以从/下载。安装之后有源代码和chm的文档。最新版本目前是V5.0。里面的很多思想更值得我们程序员去研究,例如:如何设计可扩展的组建?企业库中的数据访问组件更是我们常用的数据访问组件之一。组件默认支持SQLServer和Oracle的数据库访问,支持自定义的扩展。使用企业库操作SQLite数据库,需要用到企业库的一个扩展组件,EnterpriseLibraryContrib。里面扩展了企业库的很多功能。其中对数据库的扩展包括了访问操作SQLite,让我们可以像在操作SQLSERVER那样,保持代码不用很大的修改,可以很容易的过渡到SQLite上。遗憾的是目前的这个entlibcontrib的版本是V4.1,它只支持企业库的V4.1版本,也就是说它只能和V4.1版本的企业库的数据访问组件配合使用。否则会报错。在/上也可以下载到历史版本,也就是可以下载到V4.1。用法也可以参考:ASP.NET:UsingSQLitewithEnterpriseLibrary3.1首先在web.config或者是app.config中添加如下配置<configuration>

<configSections>

<sectionname="dataConfiguration"type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data,Version=,Culture=neutral,PublicKeyToken=null/>

</configSections>

<dataConfigurationdefaultDatabase="

">

<providerMappings>

<adddatabaseType="EntLibContrib.Data.SQLite.SQLiteDatabase,EntLibContrib.Data.SqLite,Version=,Culture=neutral,PublicKeyToken=null"

name="System.Data.SQLite"/>

</providerMappings>

</dataConfiguration>

<connectionStrings>

<addname="sqlite"connectionString="DataSource=|DataDirectory|\db;Pooling=true;FailIfMissing=false"

providerName="System.Data.SQLite"/>

</connectionStrings>

</configuration>

上面的connectionstring配置节的db就是SQLite的数据库文件,将它放在Web应用的App_Data目录,|DataDirectory|就代表这个目录的位置,后面的就是文件名。剩下的就是我们使用企业库访问SQLServer是一样的了。Databasedb=DatabaseFactory.CreateDatabase("ConnectionString");

DbCommandcomm=db.GetStoredProcCommand("GetUserByID");

IDataReaderreader=null;

db.AddInParameter(comm,"UserID",DbType.String,"12");

using(reader=db.ExecuteReader(comm))

{

}

2.2使用SQLite.NET访问SQLiteSQLite.NET也是一个数据访问组件,其中的System.Data.SQLite就好像是.NET自带的System.Data.SqlClient一样。里面包含了connection、command等数据访问的常用对象,只是他们前面都有一个前缀sqlite。下载地址:/添加System.Data.SQLite的引用之后。在配置文件(web.configorapp.config)中添加如下配置<system.data>

<DbProviderFactories>

<removeinvariant="System.Data.SQLite"/>

<addname="SQLiteDataProvider"invariant="System.Data.SQLite"description=".NetFrameworkDataProviderforSQLite"type="System.Data.SQLite.SQLiteFactory,System.Data.SQLite,Version=,Culture=neutral,PublicKeyToken=db937bc2d44ff139"/>

</DbProviderFactories>

</system.data>

也就是添加一个DbProviderFactory的创建源,在代码中就可以使用DbProviderFactory类来创建SQLite的数据访问对象了。DbProviderFactoryfact=DbProviderFactories.GetFactory("System.Data.SQLite");

using(DbConnectionconn=fact.CreateConnection())

{

conn.ConnectionString=System.Configuration.ConfigurationManager.ConnectionStrings["sqlite"].ConnectionString;

conn.Open();

DbCommandcomm=conn.CreateCommand();

comm.CommandText="select*fromcustomer";

comm.CommandType=CommandType.Text;

using(IDataReaderreader=comm.ExecuteReader())

{

while(reader.Read())

{

Response.Write(reader[0]);

}

}

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论