利用配置文件实现SQL Server与Oralce访问类的转换


SQL #sql server #oralce #配置文件2012-10-24 10:01
现在微软提供了一种方法,也是微软示例PetShop提供的解决方式;即使用Assembly反射加载访问数据库的类。

首先,创建一个空白解决方案,名字为:TestChangeDataBase,然后添加一个C#类库工程,名字叫DBHelper,然后在类库工程里创建一个接口IDAL,具体代码如下:

namespace DBHelper
{ 
public interface IDAL
{
DataSet GetDataSet(string query);
}
}

    保存后,关闭这个接口文件;再创建一个类文件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!

相关文章

粤ICP备11097351号-1