微软的 .NET 架构的出台,为我们构建分布式应用系统提供了一个强大的工具。相比于传统的 Windows 应用程序的 COM 组件,.NET 的组件开发要简单、快捷的多。而且组件的部署也不像 COM 组件那样需要在注册表里做标记,.NET 组件只要拷贝到相应的文件夹中就可以了。

下面咱们就用 .NET 程序的集成开发东西 Visual Studio .NET 实践开发一个Access2000数据库存取组件,并将它重复运用在别的的 ASP.NET 运用体系中。

用VS.NET创立.NET可复用数据库组件  VS.NET .NET 复用数据库 第1张

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测验东西横向比较
转载请说明出处
知优网 » 用VS.NET创立.NET可复用数据库组件

发表评论

您需要后才能发表评论