适用于 DotNet 2.0 的 DbHelper,使用 DbProviderFactory
DbHelper 包含使用 DbProviderFactory 功能操作数据的方法。
引言
本文档涵盖
1. Overview of DbProviderFactory [in the Background section] 2. DBHelper class to implement DbProviderFactory concepts 3. Pre-requisites for DBHelper class 4. Overview of DBHelper class
此外,还包括以下源代码:
1. DBHelper class 2. EmployeeDL [DataLayer class] with the implementation
背景
随着 DotNet 的发展,ADO.Net 一直通过尝试不同的方法来改进。为了与不同的数据库通信,ADO.Net 提供了一组可在“System.Data”命名空间下轻松访问的众多数据提供程序。
For example SQL Server - System.Data.SqlClient Oracle - System.Data.OracleClient OleDb - System.Data. OleDb Odbc - System.Data. Odbc etc…
在实际场景中,可能会更改数据库。目前,开发人员通常根据特定的数据提供程序(例如 SQL)编写代码。但是,如果需要将数据库更改为 Oracle,则必须重写代码以支持 Oracle 数据提供程序,这非常繁琐。为了克服这种情况,ADO.Net 通过在“System.Data”下提供一个新的命名空间“System.Data.Common”来提供通用的解决方案。
所有数据提供程序的通用版本都可在该命名空间下找到,即:
• DbCommand • DbCommandBuilder • DbConnection • DbDataAdapter • DbDataReader • DbException • DbParameter • DbTransaction
使用代码
DBHelper 类
DBHelper 类是使用 DbProvider Factory 概念创建的,旨在减少编码工作量。该类提供了一组用于
• ExecuteNonQuery • ExecuteScalar • ExecuteReader • DataAdapter
先决条件
Dot Net 2.0
设置
Web.config 文件应在 appSettings 部分包含以下键。
// Include the lines in the Web.config file with the required details with opening and closing tags add key="DATA.PROVIDER" value="System.Data.SqlClient" add key="DATA.CONNECTIONSTRING" value="data source=ServerName;initial catalog =DatabaseName; user id =UserId; pwd =Password;" DATA.PROVIDER - To define the Provider. DATA.CONNECTIONSTRING - To define the Connection string.
DBHelper 类概述
以下是 DBHelper 类中可用的一些方法。这有助于了解 DBHelper 类及其方法的工作原理。
构造函数
DBHelper()
创建 DBHelper 对象时,将根据 Web.config 文件中指定的数据提供程序创建 DbProviderFactory 对象。
// Creating DbProviderFactory object based on the provider given in Web.config DbProviderFactory oFactory = DbProviderFactories.GetFactory(PROVIDER);
析构函数
~DBHelper()
DbProviderFactory 对象将被释放。
// Disposing DbProviderFactory object oFactory = null;
连接相关方法
EstablishFactoryConnection()
DbConnection 对象基于 Web.config 文件中指定的连接字符串和 DbProviderFactory 对象创建。
// Creating DbConnection object based on the connection string given in Web.config DbConnection oConnection = oFactory.CreateConnection();
CloseFactoryConnection()
连接关闭,DbConnection 对象被释放。
// Closing the connection and disposing the DbConnection object oConnection.Close(); oConnection.Dispose();
参数相关方法
已创建一种结构来定义参数详细信息,例如:
• ParamName • ParamValue • ParamDirection
该结构提供了两个构造函数:
// Constructors for the structure public Parameters(string Name, object Value, ParameterDirection Direction) public Parameters(string Name, object Value)
事务相关方法
已创建一种枚举器来定义 TransactionType,它可以是:
• Open - Begin Transaction • Commit - Commit Transaction • Rollback - Rollback Transaction
TransactionHandler 方法根据定义的 Transaction 类型处理事务。
// Method to handle Transaction public void TransactionHandler(TransactionType veTransactionType)
执行方法
提供一组重载方法,用于:
// Overloaded methods avaliable for • ExecuteScalar • ExecuteReader • ExecuteNonQuery • DataAdapter
对于上述方法,还有许多重载方法,目前未在此处提及。您可以在随本文档附带的示例类 [EmployeeDL] 中获得这些方法及其实现的更好概述。