国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:04:09
字體:
來源:轉載
供稿:網友
微軟的 .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中的數據。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清徐县| 北京市| 涞水县| 江达县| 通山县| 阿拉善右旗| 墨竹工卡县| 庐江县| 晋宁县| 阳曲县| 彭泽县| 方山县| 积石山| 吉木萨尔县| 巴马| 平阴县| 金坛市| 沾益县| 连城县| 南投市| 安溪县| 元阳县| 贵南县| 庆元县| 新巴尔虎左旗| 新化县| 大厂| 洮南市| 漠河县| 梅河口市| 盱眙县| 岳普湖县| 西城区| 雅安市| 嵊州市| 华亭县| 石家庄市| 徐汇区| 封丘县| 株洲县| 平罗县|