複製代碼 代碼如下: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");
使用了這個,要是想換個資料庫,是不是很方便了呢?呵呵。