哪吒2之魔童闹海|哪吒2之魔童归来免费观看|哪吒2在线观看|哪吒2魔童闹海电影免费观看|哪吒2免费观看完整版大电影|哪吒1免费观看完整版

新疆軟件開發(fā)

本站首頁 軟件開發(fā) 成功案例 公司新聞 公司簡介 客服中心 軟件技術 網(wǎng)站建設
  您現(xiàn)在的位置: 新疆二域軟件開發(fā)公司 >> .Net技術 >> 文章正文

SQL-Server訪問類與ORACLE訪問類之間的轉換

在實際的企業(yè)級應用時,可能會用到兩種或兩種以上數(shù)據(jù)庫,這就需要在編碼時做兩種數(shù)據(jù)庫的轉換,現(xiàn)在提供一種方法,也是微軟示例PetShop提供的解決方式;即使用Assembly反射加載訪問數(shù)據(jù)庫的類,中國自學編程網(wǎng)整理發(fā)布。

  首先,創(chuàng)建一個空白解決方案,名字為:TestChangeDataBase,然后添加一個C#類庫工程,名字叫DBHelper,然后在類庫工程里創(chuàng)建一個接口IDAL,具體代碼如下:
namespace DBHelper

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

保存后,關閉這個接口文件;再創(chuàng)建一個類文件OracleHelper.CS,用以訪問Oracle數(shù)據(jù)庫:此類要實現(xiàn)IDAL接口
示例代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;


using System.Data.OracleClient;

/// <summary>
/// 訪問Oracle數(shù)據(jù)庫
/// </summary>
/// 
namespace DBHelper
{
    public class OracleHelper : IDAL
    {
        public OracleHelper()
        {
            //
            // TODO: 在此處添加構造函數(shù)邏輯
            //
        }

        #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
    }
}

保存,關閉此此文件,再創(chuàng)建一個類文件SQLHelper.CS,用以訪問SQL-Server數(shù)據(jù)庫,此類也要實現(xiàn)IDAL接口,示例代碼如下:

using System;
using System.Data;
using System.Configuration;
using System.Web;

using System.Data.SqlClient;
/// <summary>
/// SQLHelper 的摘要說明
/// </summary>


/// 
namespace DBHelper
{
    public class SQLHelper : IDAL
    {
        public SQLHelper()
        {
            //
            // TODO: 在此處添加構造函數(shù)邏輯
            //
        }

        #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配置文件,并添加如下節(jié)點:

 <connectionStrings>
  <add name="oracle" connectionString="server=student;user id=scott;password=tiger"/>
  <add name="sqlserver" connectionString="server=thinkpad\sqlexpress;uid=sa;pwd=yang;database=pubs;"/>
 </connectionStrings>
注:這是用VS2005開發(fā)要配置此節(jié),如用VS2003,則配置如下:

 <appSettings>
  <add key="oracle" value="server=student;user id=scott;password=tiger"/>
  <add key="sqlserver" value="server=thinkpad\sqlexpress;uid=sa;pwd=yang;database=pubs;"/>
 </appSettings>

本文是以VS2005為基礎開發(fā)的

配置完畢后,保存,關閉文件,打開默認的頁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)
    {
       //在此處可以采用讀取配置文件的方式,則可以實現(xiàn)動態(tài)加載,這里僅做個示例

       /* *  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!

這個僅是個示例工程,可以做的再好一點,加大配置文件的作用,以適應真正開發(fā)的需要

 

作者:未知 | 文章來源:未知 | 更新時間:2007-12-12 17:26:39

  • 上一篇文章:

  • 下一篇文章:

  • 相關文章:
    oracle不能連接本地庫的解決方案
    數(shù)據(jù)庫學習:Oracle應用程序性能優(yōu)化
    ADO.Net中如何優(yōu)化Oracle大批量數(shù)據(jù)更新時的性能
    Oracle 10g同字節(jié)序跨平臺數(shù)據(jù)遷移的測試
    ORACLE中的日志值轉換成time_t
    如何利用sp_addlinkersrvlogin從oracle查詢數(shù)據(jù)
    學習Oracle10gRelease2新功能之RefCursor
    數(shù)據(jù)學習:Oracle數(shù)據(jù)庫備份方法之熱備份
    如何獲取Oracle當前數(shù)據(jù)庫SCN值
    Oracle數(shù)據(jù)庫幾個常見問題如何解決?
    軟件技術
    · 開發(fā)語言
    · Java技術
    · .Net技術
    · 數(shù)據(jù)庫開發(fā)
    最新文章  
    ·.net技術 asp.net MVC3 Vi
    ·.net將視頻文件格式轉換成
    ·NET Framework 2.0 Servic
    ·如何動態(tài)修改winform的app
    ·asp,net軟件結構設計和相關
    ·學習怎樣使用ASP.NET中的虛
    ·,net基礎類的學習:system
    ·.net學習:c#事件的深入分
    ·Facade Pattern學習總結
    ·C#如何設置或者獲取目錄的
    ·如何使用XSL來定義ASP.NET
    ·理解WCF Data Contract契約
    ·如何能在.net2.0開發(fā)的控件
    ·模式怎樣使用,講解模式的
    ·如何解決Menu菜單被frame遮
    關于我們 | 軟件開發(fā) | 下載試用 | 客服中心 | 聯(lián)系我們 | 友情鏈接 | 網(wǎng)站地圖 | 新疆電子地圖 | RSS訂閱
    版權所有 © 2016 新疆二域軟件開發(fā)網(wǎng) www.pg11qqq.com All Rights Reserved 新ICP備14003571號
    新疆軟件開發(fā)總機:0991-4842803、4811639.
    客服QQ:596589785 ;地址:新疆烏魯木齊北京中路華聯(lián)大廈A-5C 郵編:830000