深入解析VB.NET創(chuàng)建表示層
VB.NET有很多值得學(xué)習(xí)的地方,這里我們主要介紹VB.NET創(chuàng)建表示層,包括介紹調(diào)用Web Service的Get_DataSet函數(shù)等方面。
VB.NET創(chuàng)建表示層
具體步驟如下:
1. 新建一個(gè)Windows應(yīng)用程序,命名為:“Windows Form For 表示層”。
2. 在窗體上添加一個(gè)DataGrid,一個(gè)Button,Button1的text為“Load”,作用是:從業(yè)務(wù)層讀取數(shù)據(jù)。
3. 在解決方案窗體中添加Web 引用,將我們自己建立的Web Service for 業(yè)務(wù)層引入到當(dāng)前項(xiàng)目中。
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
 
這里我們調(diào)用了Web Service的Get_DataSet函數(shù),Update_DataSet方法的調(diào)用與此完全相同。
VB.NET創(chuàng)建表示層的完整代碼如下:
- Public Class Form1
 - Inherits System.Windows.Forms.Form
 - #Region " Windows Form Designer generated code "
 - Public Sub New()
 - MyBase.New()
 - 'This call is required by the Windows Form Designer.
 - InitializeComponent()
 - 'Add any initialization after the InitializeComponent() call
 - End Sub
 - 'Form overrides dispose to clean up the component list.
 - Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
 - If disposing Then
 - If Not (components Is Nothing) Then
 - components.Dispose()
 - End If
 - End If
 - MyBase.Dispose(disposing)
 - End Sub
 - Friend WithEvents Button1 As System.Windows.Forms.Button
 - Friend WithEvents Button2 As System.Windows.Forms.Button
 - Friend WithEvents Button3 As System.Windows.Forms.Button
 - Friend WithEvents Client_DataSet As Data_Access_表示層。localhost.super_ds
 - Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
 - 'Required by the Windows Form Designer
 - Private components As System.ComponentModel.Container
 - 'NOTE: The following procedure is required by the Windows Form Designer
 - 'It can be modified using the Windows Form Designer.
 - 'Do not modify it using the code editor.
 Private Sub InitializeComponent() - Me.Button1 = New System.Windows.Forms.Button()
 - Me.Button2 = New System.Windows.Forms.Button()
 - Me.Button3 = New System.Windows.Forms.Button()
 - Me.Client_DataSet = New Data_Access_表示層。localhost.super_ds()
 - Me.DataGrid1 = New System.Windows.Forms.DataGrid()
 - CType(Me.Client_DataSet,System.ComponentModel.ISupportInitialize)。BeginInit()
 - CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize)。BeginInit()
 - Me.SuspendLayout()
 - 'Button1
 - Me.Button1.Location = New System.Drawing.Point(88, 360)
 - Me.Button1.Name = "Button1"
 - Me.Button1.TabIndex = 0
 - Me.Button1.Text = "load"
 - 'Button2
 - Me.Button2.Location = New System.Drawing.Point(232, 360)
 - Me.Button2.Name = "Button2"
 - Me.Button2.TabIndex = 1
 - Me.Button2.Text = "update"
 - 'Button3
 - Me.Button3.Location = New System.Drawing.Point(376, 360)
 - Me.Button3.Name = "Button3"
 - Me.Button3.TabIndex = 2
 - Me.Button3.Text = "clear"
 - 'Client_DataSet
 - Me.Client_DataSet.DataSetName = "Client_DataSet"
 - Me.Client_DataSet.Locale = New System.Globalization.CultureInfo("zh-CN")
 - Me.Client_DataSet.Namespace = "http://www.tempuri.org/CustomerDs.xsd"
 - 'DataGrid1
 - Me.DataGrid1.DataMember = ""
 - Me.DataGrid1.Location = New System.Drawing.Point(40, 56)
 - Me.DataGrid1.Name = "DataGrid1"
 - Me.DataGrid1.Size = New System.Drawing.Size(480, 264)
 - Me.DataGrid1.TabIndex = 3
 - 'Form1
 - Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
 - Me.ClientSize = New System.Drawing.Size(568, 429)
 - Me.Controls.AddRange(New System.Windows.Forms.Control()
 
{Me.DataGrid1, Me.Button3, Me.Button2, Me.Button1})- Me.Name = "Form1"
 - Me.Text = "Form1"
 - CType(Me.Client_DataSet, System.ComponentModel.ISupportInitialize)。EndInit()
 - CType(Me.DataGrid1,System.ComponentModel.ISupportInitialize)。EndInit()
 - Me.ResumeLayout(False)
 - End Sub
 - #End Region
 - Private Sub Button1_Click(ByVal sender As System.Object,
 
ByVal e As System.EventArgs) Handles 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
 - End Sub
 - End Class
 
表示層窗體上完全沒(méi)有數(shù)據(jù)庫(kù)連接控件,它與數(shù)據(jù)庫(kù)的連接任務(wù)是通過(guò)業(yè)務(wù)層來(lái)完成的,這樣,程序的結(jié)構(gòu)更加清晰,當(dāng)然業(yè)務(wù)層的實(shí)現(xiàn)也可以用其他方法,比如:寫(xiě)一個(gè)自己的類(lèi)來(lái)完成與數(shù)據(jù)庫(kù)的數(shù)據(jù)傳輸。
【編輯推薦】















 
 
 
 
 
 
 