asp.net 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");

  使用了这个,要是想换个数据库,是不是很方便了呢?呵呵。