您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

1.2.4 提供程序的工厂方法

http://book.51cto.com  2008-05-14 17:11  方兵  机械工业出版社  我要评论(0)

1.2.4 提供程序的工厂方法

除了前面提到的几个基类之外,我们还可以看到几个新的类,它们有System.Data.Common.
DbProviderFactories、System.Data.Common.DbProviderFactory等。其中System.Data.Common.DbProviderFactory针对每一种数据库类型都有相应的派生类。这些是帮助我们编写数据库无关的数据访问层的工厂类。在配置文件当中也做了相应的修改,将数据库联结字符串独立出来作为一个配置节,同时增加了providerName属性以标明当前连接的数据库类型。例如:

<connectionStrings>
<add
name="NorthwindConnectionString"
connectionString="Data Source=serverName;Initial
Catalog=Northwind;Persist Security Info=True;User
ID=userName;Password=password"
providerName="System .Data.SqlClient"
/>
</connectionStrings>
在需要实例化操作数据库的相关对象的实例时,首先使用System.Configuration
命名空间中的ConnectionStringSettings对象来获取连接字符串和提供程序名称:
ConnectionStringSettings conSettings;
conSettings=
ConfigurationManager.ConnectionStrings\["NorthwindConnectionString"\];
string connectionString=conSettings.ConnectionString;
string providerName=conSettings.ProviderName;

然后我们可以利用上面的信息使用System.Data.Common.DbProviderFactories来实例化一个数据库访问组件的工厂:

DbProviderFactory dataProviderFactory=
DbProviderFactories.GetFactory(providerName);


这样便得到一个实例化的、针对特定数据库的用于实例化各种数据库访问工具的工厂。利用这个工厂中提供的相应方法,我们便可以得到所需要的工具:

CreateConnection:返回实现DbConnection类的提供程序的类的一个新实例。
CreateCommand:返回实现DbCommand类的提供程序的类的一个新实例。
CreateCommandBuilder:返回实现DbCommandBuilder类的提供程序的类的一个新实例。
CreateDataAdapter:返回实现DbDataAdapter类的提供程序的类的一个新实例。
CreateParameter:返回实现DbParameter类的提供程序的类的一个新实例。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
深入Vista应用程序开发
程序员如何成长?
专题:ASP.NET 2.0基础开发指南
微软的Ajax:Atlas(ASP.net AJAX)
ASP.NET开发教程
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有