初级使用企业库
来源:互联网 发布:党委和政府的关系知乎 编辑:程序博客网 时间:2024/06/06 18:13
使用企业库进行数据操作
一、企业库-数据处理模块简介
微软企业库的数据处理应用模块(The Data Access Application Block,以下简称DAAB)通过提供合理的逻辑模块来帮助.net开发人员从繁重的数据访问、处理工作中解脱出来。开发人员仅需做如下的工作:
1、创建数据库(连接)对象
2、通过命令行(command)提供数据访问及处理所需的各种参数
3、调用DAAB提供的相应处理方法获得已封装好的DataSet等对象。
DAAB支持SQLServer、SQLServer CE以及Oracle等数据库。DAAB将常见的数据处理操作进行适当分类并针对这些分类向开发者们提供相应的解决方案(包括可调用的方法等)。这些解决方案(操作)包括:
1、通过使用一个DataReader对象来获得多条数据
2、通过使用一个DataSet对象来获得、封装多条数据
3、执行一条sql命令并获得返回值
4、执行一条sql命令并返回一个单值对象
5、通过一个事务执行多项数据库操作
6、从SQLServer获得XML格式的数据
7、根据封装在一个DataSet中的数据更新数据库
二、配置DAAB应用模块
当我们安装了企业库后,在VS2008的解决方案资源管理器中右键点击应用的配置文件,在弹出的菜单中将会出现一个新的选项– “Edit Enterprise Library Configuration”,点击它将打开The Enterprise Library configuration tools提供的编辑界面(通过该工具我们可以对一个应用中使用到的所有企业库的模块进行配置),如图所示:
打开App.config,添加了DAAB模块节点“Data Access Application Block”,然后再添加DataBase Instance,设置DataBase Instance的Name和Database Provider的值,设置Database Settings的Default Database值。
编辑Database Instance 的Connection String的值。
三、在应用程序中加入相关代码
1. 加入相关企业库DLL文件的引用
(1) 加入Microsoft.Practices.EnterpriseLibrary.Data.dll库的引用,它的一般位置是:“<安装盘>:/Program Files/Microsoft Enterprise Library 5.0/Bin/”
(2) 加入Microsoft.Practices.EnterpriseLibrary.Common.dll库的引用,它的一般位置是:“<安装盘>:/Program Files/Microsoft Enterprise Library 5.0/Bin/”
2、加入DAAB命名空间、必要的DATA命名空间的引用
using Microsoft.Practices.EnterpriseLibrary.Data; using System.Data; using System.Data.Common;
3、 创建数据库对象
DAAB模块提供一个DatabaseFactory类来创建所需的Database对象,创建后的db对象实例封装了常用的针对一个数据库的操作。我们可以通过调用不带参数的DatabaseFactory.createDatabase()方法来生成一个默认的数据库对象,该对象包含的数据库连接信息就是刚才我们在配置文件中设置的“DefaultDatabase”属性的信息。当然,我们还可以用带参数的重载createDatabase()方法,即给createDatabase()加入string类型的参数,以便Factory生成指定的Database对象。
创建一个数据库对象的代码如下:
Database db = DatabaseFactory.CreateDatabase();
或 Database db = DatabaseFactory.CreateDatabase(“SQLCon”);
这里需要提到一点,Database实际上是一个虚类,当我们调用CreateDatabase()时候返回的是一个Database的派生类,具体类型由配置文件中数据库连接字符串对象的ProviderName属性决定。如果按以上代码,实际返回的是一个SqlDatabase类的实例。
4、使用Database实例提供的各种方法进行操作
ExecuteReader:返回结果仅仅显示,不做更新、添加、删除操作;
ExecuteDataSet: 需要返回单表或多表数据;
如果你需要逐一访问数据库的每一条记录,这个时候如果使用DataReader的话,则会使与数据库的连接一直处于打开的状态,长此以往,就会使应用程序的性能和可伸缩性大大降低。需要和其他的应用程序交换数据。
ExecuteNonQuery:主要执行insert update delete操作;SQL语句执行影响的行数
ExecuteScalar:执行ExecuteScalar返回单值
LoadData:加载数据到一个已经存在的数据集
UpdateDataSet:使用已经存在的数据集更新数据库内容
GetStoredProcCommand:返回一个存储过程的数据库command对象
GetSqlStringCommand:返回一个SQL语句的数据库command对象
ExecuteXmlReader:返回xml格式的数据,xmlReader类型,这个只能用在SQL Server数据库,通过SqlDatabase类调用,Database类中没有这个方法。
ExecuteSproAccessor:使用存储过程返回一个客户端可以查询的序列对象
ExecuteSqlStringAccessor:使用SQL语句返回一个客户端可以查询的序列对象
TransactionScope:支多项事务同时执行,一旦发生异常则会回滚所有操作
还有其他的,不在一一列举…….
部分操作应用实例:
- 初级使用企业库
- 微软企业库缓存使用
- 微软企业库的使用
- 企业库
- 微软企业库中DbDataAdapter使用
- 企业库数据库封装类使用
- Microsoft Enterprise Library 企业库5.0----Cryptography Application Block (初级)
- 微软企业库4.1学习笔记(三)企业库迁移和并行使用,以及企业库的扩展
- 企业库(配置管理应用程序块)使用日记
- 微软企业库--Policy使用Exception Handler
- 微软企业库--Policy使用Login Handler
- 企业库5.0——缓存使用说明(及初级错误解决)
- 使用微软企业库中数据模块完成事务操作
- .net企业库-数据处理模块-使用DAAB来开发应用
- EnterpriseLibrary 微软企业库 使用存储过程,参数及事务
- 微软企业库之数据访问模块基本使用
- rose的初级使用
- Assert使用-初级
- Objective-C 设计模式之单例
- ELisp编程三:理解错误信息与查看帮助
- I2C驱动 核心文件
- oracle版本
- Objective-C 的方法原型及重载和覆盖
- 初级使用企业库
- Sed命令详解
- 英国设计师打造可帮手机充电的手提包
- 新注册表操作类
- 利用input工具发送按钮事件
- VC++,掀起你的盖头来 ——谈VC++对象模型
- Win7下配置"JAVA环境变量"---JDK的安装与配置
- 如何使用 Core Plot 的 API 帮助文档
- android 的mapview的apikey