這篇文章主要講解了“如何用VS.NET創(chuàng)建.NET可復(fù)用數(shù)據(jù)庫組件”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“如何用VS.NET創(chuàng)建.NET可復(fù)用數(shù)據(jù)庫組件”吧!
成都創(chuàng)新互聯(lián)公司專注于天全企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,商城網(wǎng)站制作。天全網(wǎng)站建設(shè)公司,為天全等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
下面我們就用 .NET 程序的集成開發(fā)工具 Visual Studio .NET 實際開發(fā)一個Access2000數(shù)據(jù)庫存取組件,并將它重復(fù)使用在另外的 ASP.NET 應(yīng)用系統(tǒng)中。
1.組件的創(chuàng)建
啟動 VS.NET,新建 Visual C# 項目,模板選“類庫”。
這樣就在我們機器的“我的文檔”\Visual Studio Projects 下生成一個新的文件夾ClassLibrary1。并且自動生成Class1.cs 文件:
using System; namespace ClassLibrary1 { /// /// Class1 的摘要說明。 /// public class Class1 {public Class1() { // // TODO: 在此處添加構(gòu)造函數(shù)邏輯 // } }} |
因為我們即將生成的組件與數(shù)據(jù)存取有關(guān),所以必須添加數(shù)據(jù)庫引用語句:
using System.Data; using System.Data.OleDb; |
另外我們可以把命名空間換成我們自己的命名myDB,類名也換成myDbLink。然后我們還定義了三個屬性,使我們的代碼通用性更強:
public string sDbPath = ""; //數(shù)據(jù)庫路徑(包括數(shù)據(jù)庫名) public string sDbTable = ""; //表名 public string sPassword = ""; //數(shù)據(jù)庫口令 |
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(數(shù)據(jù)庫連接對象),oAdp(數(shù)據(jù)適配器對象),oDtSt(數(shù)據(jù)集對象)。然后實例化數(shù)據(jù)庫連接對象并打開數(shù)據(jù)庫連接oConn;再通過SQL語句生成數(shù)據(jù)適配器對象oAdp;再通過oAdp的Fill方法把獲得數(shù)據(jù)填充到數(shù)據(jù)集對象oDtSt的table表(自動產(chǎn)生)中。***返回table表的默認(rèn)視圖DefaultView。
為了生成我們期望的名字為myClass.dll的組件文件,必須點擊菜單“項目”\“ClassLibrary1屬性”,在彈出的屬性頁對話框中,把“程序集名稱”的值修改為“myClass”,確定后關(guān)閉屬性頁對話框窗口。然后執(zhí)行“運行”菜單下的“生成ClassLibrary1”命令。這時就在“我的文檔”\Visual Studio Projects\bin\Debug 下生成一個myClass.dll文件,就是我們即將使用的數(shù)據(jù)庫存取組件。
2.組件的部署
為了測試我們生成的組件,可以再另外建立一個“ASP.NET Web應(yīng)用程序”項目,假設(shè)項目名為WebApplication2,這樣會在IIS里生成一個WebApplication2虛擬路徑,同時在默認(rèn)網(wǎng)站下生成一個WebApplication2文件夾。我們即將測試的組件就要拷貝到WebApplication2下的bin文件夾下。這樣組件就部署完畢了。
3.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是數(shù)據(jù)庫中的表 DataGrid1.DataSource = oDbTable.getData(); DataGrid1.DataBind(); } |
由于把從數(shù)據(jù)庫中取出來的表視圖作為DataGrid1的數(shù)據(jù)源與DataGrid1綁定,所以運行WebApplication2項目后,DataGrid1中就顯示出表myTab中的數(shù)據(jù)。
感謝各位的閱讀,以上就是“如何用VS.NET創(chuàng)建.NET可復(fù)用數(shù)據(jù)庫組件”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對如何用VS.NET創(chuàng)建.NET可復(fù)用數(shù)據(jù)庫組件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!