成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發 后端
微軟的 .NET 架構的出臺,為我們構建分布式應用系統提供了一個強大的工具。相比于傳統的 Windows 應用程序的 COM 組件,.NET 的組件開發要簡單、快捷的多。而且組件的部署也不像 COM 組件那樣需要在注冊表里做標記,.NET 組件只要拷貝到相應的文件夾中就可以了。

下面我們就用 .NET 程序的集成開發工具 Visual Studio .NET 實際開發一個Access2000數據庫存取組件,并將它重復使用在另外的 ASP.NET 應用系統中。

1.組件的創建

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

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

using System;  
  namespace ClassLibrary1  
  { ///   
    /// Class1 的摘要說明。  
    ///   
    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文件,就是我們即將使用的數據庫存取組件。

2.組件的部署

為了測試我們生成的組件,可以再另外建立一個“ASP.NET Web應用程序”項目,假設項目名為WebApplication2,這樣會在IIS里生成一個WebApplication2虛擬路徑,同時在默認網站下生成一個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是數據庫中的表  
  DataGrid1.DataSource = oDbTable.getData();  
  DataGrid1.DataBind();  
  }

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

【編輯推薦】

  1. 引以為戒 .NET開發者常犯的錯誤
  2. VB.NET和C#逐層橫向對比
  3. .NET平臺下Web測試工具橫向比較
責任編輯:彭凡 來源: IT168
相關推薦

2009-12-16 10:23:13

VS.NET

2009-12-10 14:30:50

VS.NET 2003

2009-12-09 10:56:53

MS VS.NET 2

2009-12-09 14:38:26

VS.NET 2003

2009-12-10 11:29:22

VS.NET 2003

2009-12-15 17:02:29

Vs.Net 2010

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數據庫

2009-12-02 15:11:04

Vs.Net 2010

2011-08-31 17:58:00

VS.netLUA開發環境

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數據庫

2009-07-24 15:35:00

ASP.NET連接Or

2009-12-22 13:34:48

ADO.Net Tea

2009-12-24 15:11:47

ADO.NET數據庫連

2009-12-28 10:09:10

ADO.NET連接
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲综合在线一区 | 色男人的天堂 | 国产一卡二卡三卡 | 在线婷婷 | 免费观看成人鲁鲁鲁鲁鲁视频 | 欧美日韩在线综合 | 久草精品视频 | 99re6在线| 在线观看亚洲一区二区 | 国产精品18hdxxxⅹ在线 | 蜜桃精品在线 | 操操日 | 久草网站 | 国产精品免费一区二区 | 日本不卡在线观看 | 一级无毛片 | 欧美 日韩 综合 | 亚洲欧美视频 | 亚洲精品一区二三区不卡 | 91精品国产综合久久久动漫日韩 | 亚洲精品福利视频 | 亚洲视频在线免费观看 | 日韩在线中文字幕 | 国产成人jvid在线播放 | 日韩av在线一区二区三区 | 99精品亚洲国产精品久久不卡 | 中文字幕在线观看一区 | 欧美三级在线 | 久久99精品国产 | 玖玖玖在线 | 中文字幕一区在线观看视频 | 日韩亚洲一区二区 | 一区二区成人 | 91在线一区 | av片在线观看 | 亚洲成av人片在线观看无码 | 色吊丝在线 | 欧美一级特黄aaa大片在线观看 | 999国产精品视频 | 国产乱码精品一区二区三区中文 | 日本精品视频在线观看 |