asp.net DbProviderFactory的使用-示例
更新時間:2009年11月26日 01:34:54 作者:
NET 2.0有一個抽象工廠模式的典型應(yīng)用:通過DBProviderFactory 可以對不同數(shù)據(jù)庫進(jìn)行操作。
復(fù)制代碼 代碼如下:
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 產(chǎn)品名 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();//創(chuàng)建連接
con.ConnectionString = connectionString;
DbCommand cmd = factory.CreateCommand();//創(chuàng)建命令
cmd.CommandText = queryString;
cmd.CommandType = CommandType.Text;
cmd.Connection = con;
DbDataAdapter dapter = factory.CreateDataAdapter();//創(chuàng)建適配器
dapter.SelectCommand = cmd;
dapter.Fill(dataSet);//填充
return dataSet;
}
}
public OrderInfoConfiguration()
{
//
// TODO: 在此處添加構(gòu)造函數(shù)邏輯
//
}
}
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb"); //獲取工廠 這句就可以獲得一個工廠,用這個工廠就可發(fā)生產(chǎn)該數(shù)據(jù)提供程序的各種對象了。
如果是連接
SqlServer:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.SqlClient");
Oracle:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");
ODBC:DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.Odbc");
使用了這個,要是想換個數(shù)據(jù)庫,是不是很方便了呢?呵呵。
相關(guān)文章
在WinForm和WPF中使用GMap.Net地圖插件簡單教程
GMap.NET是一個強(qiáng)大、免費(fèi)、跨平臺、開源的.NET控件,它在Windows Forms 和WPF環(huán)境中能夠使用來自Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac等地圖,下面看一下使用方法2013-12-12ASP.NET Core應(yīng)用錯誤處理之三種呈現(xiàn)錯誤頁面的方式
這篇文章主要給大家介紹了關(guān)于ASP.NET Core應(yīng)用錯誤處理之三種呈現(xiàn)錯誤頁面的方式的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01關(guān)于ASP.NET頁面打印技術(shù)的常用方法總結(jié)
B/S結(jié)構(gòu)導(dǎo)致了Web應(yīng)用程序中打印的特殊性;程序運(yùn)行在瀏覽器中,打印機(jī)在本地,而文件確可能在服務(wù)器上,導(dǎo)致了打印控制不是很靈活,接下來介紹幾種常見的打印技術(shù),感興趣的朋友可以了解下2013-01-01