成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

用VS.NET創建.NET可復用數據庫組件

2010-08-28 10:50:52來源:西部e網作者:

微軟的.NET架構的出臺,為我們構建分布式應用系統提供了一個強大的工具。相比于傳統的Windows應用程序的 COM 組件,.NET 的組件開發要簡單、快捷的多。而且組件的部署也不像COM組件那樣需要在注冊表里做標記,.NET 組件只要拷貝到相應的文件夾中就可以了。

下面我們就用.NET程序的集成開發工具Visual Studio .NET 實際開發一個Access2000數據庫存取組件,并將它重復使用在另外的ASP.NET 應用系統中。

(一)組件的創建

啟動VS.NET,新建 Visual C# 項目,模板選“類庫”。如圖一所示。

這樣就在我們機器的“我的文檔”\Visual Studio Projects 下生成一個新的文件夾ClassLibrary1。并且自動生成Class1.cs 文件:

using System;

namespace ClassLibrary1

{

  /// <summary>

  /// Class1 的摘要說明。

  /// </summary>

  public class Class1

  { 

 public Class1()

 {

//

// TODO: 在此處添加構造函數邏輯

//

 }

  }

}

因為我們即將生成的組件與數據存取有關,所以必須添加數據庫引用語句:

using System.Data;

using System.Data.OleDb;

另外我們可以把命名空間換成我們自己的命名myDB,類名也換成myDbLink。然后我們還定義了三個屬性,使我們的代碼通用性更強:

public string sDbPath = "";  //數據庫路徑(包括數據庫名)

public string sDbTable = ""; //表名

public string sPassword = ""; //數據庫口令

myDbLink類中的getData()方法將返回查詢的表的視圖。這樣我們定制后的完整代碼如下:

using System;

using System.Data;

using System.Data.OleDb; 

namespace myDB

{

  public class myDbLink

  {

 public string sDbPath = "";

 public string sDbTable = "";

 public string sPassword = "";

 public DataView getData()

 {

OleDbConnection oConn;

OleDbDataAdapter oAdp;

DataSet oDtSt;

oConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;

Data Source="+ sDbPath +";Password="+ sPassword +";");

oConn.Open();

oAdp = new OleDbDataAdapter("select * from "+ sDbTable, oConn);

oDtSt = new DataSet();

oAdp.Fill(oDtSt, "table");

return oDtSt.Tables["table"].DefaultView;

 }

  }

}

getData()方法中的代碼的意義為:首先聲明三個引用類型的變量oConn(數據庫連接對象),oAdp(數據適配器對象),oDtSt(數據集對象)。然后實例化數據庫連接對象并打開數據庫連接oConn;再通過SQL語句生成數據適配器對象oAdp;再通過oAdp的Fill方法把獲得數據填充到數據集對象oDtSt的table表(自動產生)中。最后返回table表的默認視圖DefaultView。

為了生成我們期望的名字為myClass.dll的組件文件,必須點擊菜單“項目”\“ClassLibrary1屬性”,在彈出的屬性頁對話框中,把“程序集名稱”的值修改為“myClass”,確定后關閉屬性頁對話框窗口。然后執行“運行”菜單下的“生成ClassLibrary1”命令。這時就在“我的文檔”\Visual Studio Projects\bin\Debug 下生成一個myClass.dll文件,就是我們即將使用的數據庫存取組件。



(二)組件的部署

為了測試我們生成的組件,可以再另外建立一個“ASP.NET Web應用程序”項目,假設項目名為WebApplication2,這樣會在IIS里生成一個WebApplication2虛擬路徑,同時在默認網站下生成一個WebApplication2文件夾。我們即將測試的組件就要拷貝到WebApplication2下的bin文件夾下。這樣組件就部署完畢了。

(三)ASP.NET的測試代碼

在生成的WebApplication2項目的WebForm上拖放一個DataGrid組件,在工程中添加對myClass.dll組件的引用,再在文件頭部引用我們的命名空間:

using myDB;

然后在WebForm1.aspx.cs的Page_Load事件中鍵入以下代碼:

private void Page_Load(object sender, System.EventArgs e)

{ myDbLink oDbTable;

  oDbTable = new myDbLink();

  oDbTable.sDbPath = "D:\\_My_Documents\\database.mdb";

  oDbTable.sPassword = "";

oDbTable.sDbTable = "myTab"; // myTab是數據庫中的表

DataGrid1.DataSource = oDbTable.getData();

DataGrid1.DataBind(); 

}



由于把從數據庫中取出來的表視圖作為DataGrid1的數據源與DataGrid1綁定,所以運行WebApplication2項目后,DataGrid1中就顯示出表myTab中的數據。

關鍵詞:VS.NET

贊助商鏈接:

主站蜘蛛池模板: 元阳县| 莱芜市| 中西区| 昌乐县| 乌鲁木齐县| 化德县| 桐庐县| 汝州市| 邳州市| 客服| 元氏县| 秦安县| 上林县| 婺源县| 丰都县| 大方县| 邯郸市| 阜阳市| 高雄县| 定兴县| 滦平县| 睢宁县| 闽清县| 安达市| 东阳市| 深泽县| 儋州市| 南昌县| 双城市| 工布江达县| 鄂托克前旗| 新乐市| 大竹县| 漾濞| 周口市| 灌阳县| 尼勒克县| 南部县| 开平市| 色达县| 福泉市|