- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
HGData操作手册.doc.doc
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc199576848 1. 公共数据访问组件DAAB概述 PAGEREF _Toc199576848 \h 2
HYPERLINK \l _Toc199576849 2. 数据库访问上下文对象 PAGEREF _Toc199576849 \h 2
HYPERLINK \l _Toc199576850 3. 调用示例 PAGEREF _Toc199576850 \h 3
HYPERLINK \l _Toc199576851 4. 函数调用说明 PAGEREF _Toc199576851 \h 6
公共数据访问组件DAAB概述
HGData数据库访问类通过第三方组件DAAB访问数据库。DAAB的全称为Microsoft Data Access Application Block for .NET,目前为3.0版本,是GotDotNet网站()支持的一个开源项目。与Microsoft.ApplicationBlocks.Data的SqlHelper 2.0相比,DAAB提供了新的抽象类,并实现了对OleDb和ODBC的支持。
和目前流行的其他DAL(Database Access Layer)组件一样,DAAB主要实现了对ADO.Net数据接口的抽象和封装,目的是统一规范应用对数据库访问接口,避免由于应用程序不当调用ADO.Net接口而产生的性能问题,同时,使用DAAB还大量简化了应用程序访问数据库的代码编写。
DAAB目前提供的主要方法如下:
方法名功能ExcuteDataSet执行一条SQL命令(可以是sql语句、存储过程名和数据库表名等,下同),返回DataSet对象。ExcuteNonQuery执行一条SQL命令,以int类型返回命令所影响的记录条数。主要用于执行Delete、Update等语句,或不需返回结果的存储过程。ExcuteReader执行一条SQL命令,返回IDataReader类型ExcuteScalar执行一条SQL命令,返回一个数据对象。此方法主要用于执行返回唯一值的SQL命令,比如类似Select count(*),select fieldvalue(where条件要限制只返回一条记录)。FillDataSet执行一条SQL命令,并将结果填充到指定DataSet中。UpdateDataSet将指定DataSet的内容更新到数据库中。CreateCommand创建一个IDbCommand命令。其中每一个方法都提供了多种重载方法,以方便应用在不同场景中的使用。
数据库访问上下文对象
但DAAB需要应用提供数据库访问连接串、或连接、事务对象、或向DAAB提供访问读取数据库连接配置文件的方法。为此,我们设计了DBContext和DBContextInfo类,提供数据库访问的上下文(名称空间为HGData)。DBContextInfo提供数据库连接、事务对象以及连接的打开、关闭(数据库连接对象实际存放于DBContext对象,而DBContextInfo包含了DBContext对象),事务对象的启动、提交、回滚等功能,DBContext则负责从配置信息文件中读取数据库配置,并创建数据库连接、事务对象和DBContextInfo对象实例。
为方便DAAB使用DBContextInfo对象,我们还设计了DAHelper类,DAHelper本身继承自DAAB的SQLServer类,能够使用DAAB所有访问SQLServer数据库的方法,但重要的是,DAHelper能够直接使用含有数据库连接和事务处理对象的DBContextInfo对象。
通过提供数据库访问上下文对象,使得应用对数据库的访问完全透明,这包括数据库连接串、连接对象、交易对象的处理,后台数据库的部署甚至数据库的类型,Sql命令的执行等等,从而大大简化和规范了应用系统的数据访问。
DBContext和DBContextInfo静态图如下:
调用示例
/// summary
/// 还原信息
/// /summary
/// param name=biID信息id/param
/// returns/returns
public static BugInfo CreateBugInfo(string biID)
{
BugInfo bi = new BugInfo();
string sql = SELECT BUG_ID, BUG_TITLE, CREATER_ID, CREATE_TIME, LA
文档评论(0)