熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

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

2013-11-13 12:17:23  來源: .NET編程 

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

  組件的創建

  啟動 VSNET新建 Visual C# 項目模板選類庫

  這樣就在我們機器的我的文檔\Visual Studio Projects 下生成一個新的文件夾ClassLibrary並且自動生成Classcs 文件

using System;
namespace ClassLibrary
{ ///
  /// Class 的摘要說明
  ///
  public class Class
  {public Class() 
 {  //
// TODO: 在此處添加構造函數邏輯
//
 }
  }}

  因為我們即將生成的組件與數據存取有關所以必須添加數據庫引用語句

using SystemData; 
using SystemDataOleDb;
  另外我們可以把命名空間換成我們自己的命名myDB類名也換成myDbLink然後我們還定義了三個屬性使我們的代碼通用性更強

public string sDbPath = ;  //數據庫路徑(包括數據庫名)
public string sDbTable = ; //表名
public string sPassword = ; //數據庫口令

  myDbLink類中的getData()方法將返回查詢的表的視圖這樣我們定制後的完整代碼如下

using System;
using SystemData;
using SystemDataOleDb;
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=MicrosoftJetOLEDB;Data Source= 
sDbPath ;Password= sPassword ;); 
oConnOpen();
oAdp = new OleDbDataAdapter(select * from sDbTable oConn); 
oDtSt = new DataSet();
oAdpFill(oDtSt table);
return oDtStTables[table]DefaultView;
 }
  }
}

  getData()方法中的代碼的意義為首先聲明三個引用類型的變量oConn(數據庫連接對象)oAdp(數據適配器對象)oDtSt(數據集對象)然後實例化數據庫連接對象並打開數據庫連接oConn再通過SQL語句生成數據適配器對象oAdp再通過oAdp的Fill方法把獲得數據填充到數據集對象oDtSt的table表(自動產生)中最後返回table表的默認視圖DefaultView

  為了生成我們期望的名字為myClassdll的組件文件必須點擊菜單項目\ClassLibrary屬性在彈出的屬性頁對話框中程序集名稱的值修改為myClass確定後關閉屬性頁對話框窗口然後執行運行菜單下的生成ClassLibrary命令這時就在我的文檔\Visual Studio Projects\bin\Debug 下生成一個myClassdll文件就是我們即將使用的數據庫存取組件

  組件的部署

  為了測試我們生成的組件可以再另外建立一個ASPNET Web應用程序項目假設項目名為WebApplication這樣會在IIS裡生成一個WebApplication虛擬路徑同時在默認網站下生成一個WebApplication文件夾我們即將測試的組件就要拷貝到WebApplication下的bin文件夾下這樣組件就部署完畢了

  ASPNET 的測試代碼

  在生成的WebApplication項目的WebForm上拖放一個DataGrid組件在工程中添加對myClassdll組件的引用再在文件頭部引用我們的命名空間

  using myDB;

  然後在WebFormaspxcs的Page_Load事件中鍵入以下代碼

private void Page_Load(object sender SystemEventArgs e) 
{ myDbLink oDbTable;
  oDbTable = new myDbLink();
  oDbTablesDbPath = D:\\_My_Documents\\databasemdb; 
  oDbTablesPassword = ; 
oDbTablesDbTable = myTab; // myTab是數據庫中的表
DataGridDataSource = oDbTablegetData();
DataGridDataBind();
}

  由於把從數據庫中取出來的表視圖作為DataGrid的數據源與DataGrid綁定所以運行WebApplication項目後DataGrid中就顯示出表myTab中的數據


From:http://tw.wingwit.com/Article/program/net/201311/15580.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.