当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > asp.net DbProviderFactory的使用-示例

ASP.NET
ASP.NET 2.0服务器控件开发的基本概念
教你如何实现ASP.NET中网站访问量的统计
.Net基础:ASP.NET网站开发的架构设计
ASP.NET应用技巧:非托管COM组件的使用
.Net基础:ASP.NET中的session存储模式运用
.Net的精髓——XML和SOAP
.NET 4.0改进的介绍
使用.NET正则表达式区分中英文
ASP.NET开发中关于Web标准的几点建议
ASP.NET开发安全问题
谈.NET反射的封装
ASP.NET用户控件说明和添加事件
C#编程实现动态生成Word文档
Asp.net2.0之自定义控件ImageButton
.net程序员,该不该学IL?
利用ajax.dll进行asp.net ajax开发
软件编程走火入魔之:女人的脸 男人的代码
分页那回事?
ASP.NET WebForm页面内容输出方式
浅析ASP.NET的IIS映射

ASP.NET 中的 asp.net DbProviderFactory的使用-示例


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-10   浏览: 212 ::
收藏到网摘: n/a

NET 2.0有一个抽象工厂模式的典型应用:通过DBProviderFactory 可以对不同数据库进行操作。
复制代码 代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.Data.Common;
/// <summary>
/// OrderInfoConfiguration 的摘要说明
/// </summary>
public class OrderInfoConfiguration
{
private const string connectionString=@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Program Files\TutorialSampleCodeProjects\xtreme.mdb";
private const string queryString="SELECT a.[Order Date] AS 订单时间,a.[Order ID] AS 订单号,b.[Last Name]+\" \"+b.[First Name] AS 员工姓名,c.[Customer Name] AS 客户姓名,d.[Product Name] AS 产品名 FROM Orders a,Employee b,Customer c,Product d ,[Orders Detail] e WHERE a.[Employee ID]=b.[Employee ID] AND a.[Customer ID]=c.[Customer ID] AND a.[Order ID]=e.[Order ID] AND e.[Product ID]=d.[Product ID]";
public static DataSet OrderInfoDataSet
{
get
{
DataSet dataSet = new DataSet();
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); //获取工厂
DbConnection con = factory.CreateConnection();//创建连接
con.ConnectionString = connectionString;
DbCommand cmd = factory.CreateCommand();//创建命令
cmd.CommandText = queryString;
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
DbDataAdapter dapter = factory.CreateDataAdapter();//创建适配器
dapter.SelectCommand = cmd;
dapter.Fill(dataSet);//填充
return dataSet;
}
}
public OrderInfoConfiguration()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
}

DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); //获取工厂 这句就可以获得一个工厂,用这个工厂就可发生产该数据提供程序的各种对象了。
如果是连接
SqlServer:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
Oracle:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
ODBC:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.Odbc");
使用了这个,要是想换个数据库,是不是很方便了呢?呵呵。