自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 后端
微軟的 .NET 架構(gòu)的出臺,為我們構(gòu)建分布式應(yīng)用系統(tǒng)提供了一個強(qiá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)中。

1.組件的創(chuàng)建

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

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

using System;  
  namespace ClassLibrary1  
  { ///   
    /// Class1 的摘要說明?! ?BR>    ///   
    public class Class1  
    {  public Class1() 
       {  //  
           // TODO: 在此處添加構(gòu)造函數(shù)邏輯  
           //  
       }  
    }  }

因為我們即將生成的組件與數(shù)據(jù)存取有關(guān),所以必須添加數(shù)據(jù)庫引用語句:

using System.Data; 
  using System.Data.OleDb;

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

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ù)。

【編輯推薦】

  1. 引以為戒 .NET開發(fā)者常犯的錯誤
  2. VB.NET和C#逐層橫向?qū)Ρ?/A>
  3. .NET平臺下Web測試工具橫向比較
責(zé)任編輯:彭凡 來源: IT168
相關(guān)推薦

2009-12-16 10:23:13

VS.NET

2009-12-10 14:30:50

VS.NET 2003

2009-12-10 11:29:22

VS.NET 2003

2009-12-09 10:56:53

MS VS.NET 2

2009-12-15 17:02:29

Vs.Net 2010

2009-12-09 14:38:26

VS.NET 2003

2009-12-02 14:54:20

VS.NET 2010

2009-12-10 16:00:04

VS.NET 2003

2009-09-02 18:28:55

.NET框架ESBasic

2010-05-20 14:52:42

MySQL數(shù)據(jù)庫

2009-12-02 15:11:04

Vs.Net 2010

2011-08-31 17:58:00

VS.netLUA開發(fā)環(huán)境

2009-12-09 16:43:48

VS.NET 2003

2009-12-10 09:50:49

VS.NET 2003

2009-12-15 13:19:04

Vs.Net 2010

2011-03-04 11:08:46

ADO.NET數(shù)據(jù)庫

2009-12-22 13:34:48

ADO.Net Tea

2009-12-24 15:11:47

ADO.NET數(shù)據(jù)庫連

2009-12-28 10:09:10

ADO.NET連接

2009-12-25 17:05:32

ADO.NET數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號