现在的位置: 首页 >> 程序开发 >> VB.NET >> 如何用VB.Net创建一个三层的数据库应用程序
添加时间:2005-8-16 来源:网教中国 作者: rcs
如何用VB.Net创建一个三层的数据库应用程序

    
  1. 概论:
  
  本文将介绍如何创建一个三层应用程序,并且将介绍如何创建一个Web Service服务。
  
   ADO.NET创建Windows三层结构应用程序的体系架构如下图所示:
  
  
  
  该结构分三个层次:表示层、业务层、数据层。
  
  数据层:代表物理数据库。
  
  业务层:负责数据层与表示层之间的数据传输。
  
  表示层:应用程序的客户端,它通过业务层来访问数据库。
  
  表示层所操作的是驻留在内存中的本地数据,当需要更新数据库数据时,要通过业务层提供的更新方法实现。这样可以大大提高应用程序的性能,而且,什么时候更新数据完全由你决定,提高了编程的灵活性。
  
  2.实例:
  
   这里我们具体做一个实例来看看如何用VB.NET创建三层结构的应用程序。
  
  数据库:我们选择SQL SERVER 的NorthWind数据库。
  
  业务层:我们创建一个WebService作为中间层。(需要安装IIS服务)
  
  表示层:我们写一个Windows Form
  
  第一步:创建WebService。
  
  具体步骤如下:
  
  1. 新建一个项目,选择ASP.NET Web服务,命名为:”WebService For 业务层”。
  
  2. 添加两个Sql DataAdapter,一个为Customer_da,它指向NorthWind数据库的Customers表,另一个为Order_da,指向Northwind数据库的Orders表。
  
  3. 然后生成一个Typed DataSet(选择“数据”菜单的“生成数据集”),命名为:Super_ds.
  
  4. 数据库连接已经完成,下一步我们将考虑它与表示层之间的通信,这里我们定义两个方法。一个为:Get_DataSet,它返回一个Super_ds类型的数据集,另一个为:Update_DataSet,它负责更新数据库数据, 方法代码如下:
  
   Public Function Get_Dataset() As super_ds
  
   customer_da.Fill(Super_ds1.Customers)
  
   order_da.Fill(Super_ds1.Orders)
  
   Return Super_ds1
  
   End Function
  
   Public Sub Update_Dataset()
  
   Super_ds1.AcceptChanges()
  
  End Sub
  
  你可以运行测试一下你建立的这个WebService。它将提供两个方法。返回的DataSet是以XML表示的。
  
  业务层的完整代码如下:
  
  Imports System.Web.Services
  
  Public Class Service1
  
  Inherits System.Web.Services.WebService
  
  ‘Web Services Designer Generated Code…….
  
   Public Function Get_Dataset() As super_ds
  
   customer_da.Fill(Super_ds1.Customers)
  
   order_da.Fill(Super_ds1.Orders)
  
   Return Super_ds1
  
   End Function
  
   Public Sub Update_Dataset()
  
   Super_ds1.AcceptChanges()
  
   End Sub
  
   ' WEB SERVICE EXAMPLE
  
   ' The HelloWorld() example service returns the string Hello World.
  
   ' To build, uncomment the following lines then save and build the project.
  
   ' To test this web service, ensure that the .asmx file is the start page
  
   ' and press F5.
  
   '
  
   ' Public Function HelloWorld() As String
  
   ' HelloWorld = "Hello World"
  
   ' End Function
  
  End Class
  
  第二步:创建表示层
  
  具体步骤如下:
  
  1. 新建一个Windows应用程序,命名为:“Windows Form For 表示层”。
  
  2. 在窗体上添加一个DataGrid,一个Button,Button1的text为“Load”,作用是:从业务层读取数据。
  
  3. 在解决方案窗体中添加Web 引用,将我们自己建立的Web Service for 业务层引入到当前项目中。
  
  4. 向Button1的Click事件添加如下代码:
  
   Dim Customer_Ds As New localhost.super_ds()
  
   Dim ser1 As New localhost.Service1()
  
   Customer_Ds.Merge(ser1.Get_Dataset)
  
   DataGrid1.DataSource = Customer_Ds
  
  这里我们调用了Web Service的Get_DataSet函数,Update_DataSet方法的调用与此完全相同。
  
  表示层的完整代码如下:
  
  Imports Data_Access_表示层
  
  Public Class Form1
  
   Inherits System.Windows.Forms.Form
  
  #Region " Windows Form Designer generated code "
  
   Public Sub New()
  
   MyBase.New()
  
   '

[1] [2] [3]  下一页


上一篇: 下一篇:VB.net 编码规范
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·全面剖析VB.NET(1)
·P2P的简单示例:VB.net版
·在打印时如何度量字符串?
·使用TreeView控件
·VB.NET开发扫描客户端服务工具(1
·使用 Visual Basic .NET 访问注
·全面剖析VB.NET(7)
·全面剖析VB.NET(5)
·在VB.NET中使用动态属性
·VB.NET实现超级ptm查看器
相关文章
 
最新文章
·P2P的简单示例:VB.net版
·在打印时如何度量字符串?
·使用TreeView控件
·VB.NET开发扫描客户端服务工具(2
·VB.NET开发扫描客户端服务工具(1
·百万程序员的苦恼-选择VB.NET还
·使用 Visual Basic .NET 访问注
·全面剖析VB.NET(7)
·全面剖析VB.NET(6)
·全面剖析VB.NET(5)
Google