用VS.NET建立.NET可複用資料庫組件

來源:互聯網
上載者:User
建立|資料|資料庫 微軟的 .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中的資料。



相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。