版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国射频微波MLCC行业投资分析、市场运行态势研究报告-智研咨询发布
- 2024年中国NMP行业政策、市场规模及投资前景研究报告(智研咨询发布)
- 全球护肤品电子商务行业市场前景及投资研究报告-外文版培训课件2024.7
- 绿色简约风保护濒危动物教育
- 人音版第七册教案全集
- 白色可爱卡通秋天丰收主题汇报宣传策划
- 2025千题百炼-高考数学100个热点问题(一):第30炼 y=Asin(wx t)的解析式的求解含答案
- 2024届山东省济南市章丘市达标名校中考考前最后一卷英语试卷含答案
- 2024届陕西省商洛市洛南县重点名校初中英语毕业考试模拟冲刺卷含答案
- 2024届山东省潍坊市临朐中考英语模试卷含答案
- 体育与健康九年级教案(全册)
- 注册会计师教材《审计》电子
- 水质 氯化物的测定验证报告
- [成都]温江医院疗养新城园区建设规划方案
- 人防工程基本知识(PPT184页)
- 医学课件麻醉术后镇痛
- 三角形内角和定理优质课说课获奖课件
- 新教材高中历史选择性必修一全册知识点总结
- 医院内部控制制度汇编
- ISO45001审核作业指导书
- 危重患者的转运及注意事项
评论
0/150
提交评论