利用配置文件實現SQL Server與Oralce訪問類的轉換
現在微軟提供了一種方法,也是微軟示例PetShop提供的解決方式;即使用Assembly反射加載訪問數據庫的類。
首先,創建一個空白解決方案,名字為:TestChangeDataBase,然后添加一個C#類庫工程,名字叫DBHelper,然后在類庫工程里創建一個接口IDAL,具體代碼如下:
|
保存后,關閉這個接口文件;再創建一個類文件OracleHelper.CS,用以訪問Oracle數據庫:此類要實現IDAL接口
示例代碼如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Data.OracleClient;///
/// 訪問Oracle數據庫
///
///
namespace DBHelper
{
public class OracleHelper : IDAL
{
public OracleHelper()
{
//
// TODO: 在此處添加構造函數邏輯
//
}#region IDAL 成員
public DataSet GetDataSet(string query)
{
OracleConnection con = new OracleConnection(ConfigurationSettings.AppSettings["oracle"]);
OracleDataAdapter da = new OracleDataAdapter(query, con);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}#endregion
}
}
保存,關閉此此文件,再創建一個類文件SQLHelper.CS,用以訪問SQL-Server數據庫,此類也要實現IDAL接口,示例代碼如下:
using System;
using System.Data;
using System.Configuration;
using System.Web;using System.Data.SqlClient;
///
/// SQLHelper 的摘要說明
///
///
namespace DBHelper
{
public class SQLHelper : IDAL
{
public SQLHelper()
{
//
// TODO: 在此處添加構造函數邏輯
//
}#region IDAL 成員
public DataSet GetDataSet(string query)
{
SqlConnection con = new SqlConnection(ConfigurationSettings.AppSettings["sqlserver"]);
SqlDataAdapter da = new SqlDataAdapter(query, con);
DataSet ds = new DataSet();
da.Fill(ds);
return ds;
}#endregion
}
}
保存,關閉此文件.在解決方案視圖,右擊DBHelper,選擇生成,生成工程。向解決方案中添加一個Web工程,名字叫TestWebSite,給此Web工程添加引用--項目--選擇DBHelper工程.并給此Web工程添加Web.Config配置文件,并添加如下節點:
注:這是用VS2005開發要配置此節,如用VS2003,則配置如下:
本文是以VS2005為基礎開發的
配置完畢后,保存,關閉文件,打開默認的頁Default.aspx,要設計視圖,向此頁添加一個GridView控件,再打開代碼隱藏文件:Default.aspx.cs,編輯代碼
完整代碼如下:
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 System.Reflection;
using DBHelper;public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//在此處可以采用讀取配置文件的方式,則可以實現動態加載,這里僅做個示例/* * IDAL dbHelper = (IDAL)Assembly.Load("DBHelper").CreateInstance(ConfigurationSettings.AppSettings["sqlHelper"]);
*/
IDAL dbHelper = (IDAL)Assembly.Load("DBHelper").CreateInstance("DBHelper.OracleHelper");//SQL 語句也可以在配置文件中配置
DataSet ds = dbHelper.GetDataSet("select * from emp");
this.GridView1.DataSource = ds;
this.GridView1.DataBind();
}
}
全部完成后,選擇Web工程為啟動項目,啟動測試,OK!
【編輯推薦】