六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

用VS.NET創(chuàng)建.NET可復(fù)用數(shù)據(jù)庫組件

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

下面我們就用 .NET 程序的集成開發(fā)工具 Visual Studio .NET 實際開發(fā)一個Access2000數(shù)據(jù)庫存取組件,并將它重復(fù)使用在另外的 ASP.NET 應(yīng)用系統(tǒng)中。

(一)組件的創(chuàng)建

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




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

using System;

namespace ClassLibrary1

{

/// <summary>

/// Class1 的摘要說明。

/// </summary>

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ù)庫存取組件。



(二)組件的部署

為了測試我們生成的組件,可以再另外建立一個“ASP.NET Web應(yīng)用程序”項目,假設(shè)項目名為WebApplication2,這樣會在IIS里生成一個WebApplication2虛擬路徑,同時在默認(rèn)網(wǎng)站下生成一個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是數(shù)據(jù)庫中的表

DataGrid1.DataSource = oDbTable.getData();

DataGrid1.DataBind();

}

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




主站蜘蛛池模板: 视频一区视频二区在线观看 | 日韩精品一区二区三区免费视频 | 欧美一级片网址 | 日韩中文字幕在线不卡 | 涩涩涩涩涩涩涩涩涩涩 | 中文字幕亚洲一区二区v@在线 | 性荡视频播放器在线视频播放 | 日本啊v在线观看 | 天天曰天天干 | 性大交 | 天堂a免费视频在线观看 | 伊人天天| 亚洲欧美国产精品第1页 | 色婷婷六月丁香在线观看 | 亚洲免费视频播放 | 一本久道久久综合中文字幕 | 日韩天天干 | 欧美中文字幕在线看 | 日韩a在线播放 | 青草视频入口 在线观看 | 青青草国产精品人人爱99 | 日日插插 | 欧美在线中文字幕高清的 | 三级黄色片在线播放 | 日韩国产成人资源精品视频 | 综合色在线 | 天堂√在线中文资源网 | 亚洲精品乱码久久久久久中文字幕 | 日韩欧美精品综合一区二区三区 | 日韩在线影院 | 亚洲国产情侣偷自在线二页 | 青草社区视频 | 婷婷色在线观看 | 日韩中文精品亚洲第三区 | 亚洲一区二区成人 | 亚洲美女大bbbbbbbbb | 日本人视频网站 | 天堂婷婷 | 字幕网资源站中文字幕 | 欧美在线观看一区二区三 | 亚洲图片一区 |