这篇文章将为大家详细讲解有关VB.NET如何调用Web Service,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
VB.NET调用Web Service提供服务来编写数据库应用程序的具体步骤,:
1. 启动Visual Studio .Net。
2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。
3. 将【项目类型】设置为【Visual Basic项目】。
4. 将【模板】设置为【Windows应用程序】。
5. 在【名称】文本框中输入【TestWebService】。
6. 在【位置】的文本框中输入【E:/VS.NET项目】,然后单击【确定】按钮,这样在"E:/VS.NET项目"中就产生了名称为"TestWebService"文件夹,里面存放的就是TestWebService项目的所有文件。
7. 选择【解决方案资源管理器】|【引用】后,单击鼠标右键,在弹出的菜单中选择【添加Web 引用】,在弹出的【添加Web引用】对话框中的【地址】文本框中输入"http://localhost/UpdateDataWebService/Service1.asmx "后,单击回车键后,则在【TestWebService】项目中加入了Web引用。请注意"http://localhost/UpdateDataWebService/Service1.asmx "就是上面完成的Web Service对外提供服务的URL地址。
8. 从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应的操作:
一个DataGrid组件。
二个Button组件,分别是Button1至Button2,并在这二个Button组件拖入Form1的设计窗体后,分别双击它们,则系统会在Form1.vb文件分别产生这二个组件的Click事件对应的处理代码。
9. 把VB.NET的当前窗口切换到Form1.vb的代码编辑窗口,并用下列代码替换Form1.vb中的Button1的Click事件对应的处理代码,下列代码功能是VB.NET调用Web Service中提供的"Binding"服务对DataGrid组件实现数据绑定:
Private Sub Button1_Click ( ByVal sender As System.Object ,
ByVal e As System.EventArgs ) Handles Button1.ClickDim MyService As New localhost.Service1 ( )
DataGrid1.DataSource = MyService.Binding ( )
DataGrid1.DataMember = "Cust"
End Sub
10. 用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码,下列代码功能是使用Web Service中提供的"Update"服务实现通过DataGrid来修改数据库数据:
Private Sub Button2_Click ( ByVal sender As System.Object,
ByVal e As System.EventArgs ) Handles Button2.ClickDim MyService As New localhost.Service1 ( )
Dim ds As DataSet = DataGrid1.DataSource
Dim dsChanges As DataSet = ds.GetChanges ( )
If Not ( dsChanges Is Nothing ) Then
ds.Merge ( MyService.Update ( dsChanges ) , True )
End If
End Sub
11. 至此, 【TestWebService】项目的全部工作就完成了,VB.NET调用Web Service是不是很简单。此时单击快捷键F5运行程序后。单击程序中的【绑定】按钮就会对程序中的DataGrid组件实现数据绑定,单击程序中的【修改】按钮,则程序会根据DataGrid中的内容来更新数据库。
12. Form1.vb的代码清单如下:
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows 窗体设计器生成的代码 "
Public Sub New ( )
MyBase.New ( )
'该调用是 Windows 窗体设计器所必需的。
InitializeComponent ( )
'在 InitializeComponent ( ) 调用之后添加任何初始化
End Sub
'窗体重写处置以清理组件列表。
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
'Windows 窗体设计器所必需的
Private components As System.ComponentModel.IContainer
'注意:以下过程是 Windows 窗体设计器所必需的
'可以使用 Windows 窗体设计器修改此过程。
'不要使用代码编辑器修改它。
Friend WithEvents Button1 As System.Windows.Forms.Button
Friend WithEvents Button2 As System.Windows.Forms.Button
Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
<System.Diagnostics.DebuggerStepThrough ( ) > Private Sub InitializeComponent ( )
Me.Button1 = New System.Windows.Forms.Button ( )
Me.Button2 = New System.Windows.Forms.Button ( )
Me.DataGrid1 = New System.Windows.Forms.DataGrid ( )
CType ( Me.DataGrid1 , System.ComponentModel.ISupportInitialize ) .BeginInit ( )
Me.SuspendLayout ( )
Me.Button1.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button1.Location = New System.Drawing.Point ( 56 , 216 )
Me.Button1.Name = "Button1"
Me.Button1.Size = New System.Drawing.Size ( 75 , 32 )
Me.Button1.TabIndex = 0
Me.Button1.Text = "绑定"
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.Location = New System.Drawing.Point ( 168 , 216 )
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size ( 75 , 32 )
Me.Button2.TabIndex = 1
Me.Button2.Text = "修改"
Me.DataGrid1.DataMember = ""
Me.DataGrid1.Dock = System.Windows.Forms.DockStyle.Top
Me.DataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText
Me.DataGrid1.Name = "DataGrid1"
Me.DataGrid1.Size = New System.Drawing.Size ( 292 , 192 )
Me.DataGrid1.TabIndex = 2
Me.AutoScaleBaseSize = New System.Drawing.Size ( 6 , 14 )
Me.ClientSize = New System.Drawing.Size ( 292 , 273 )
Me.Controls.AddRange ( New System.Windows.Forms.Control ( ) {Me.DataGrid1 , Me.Button2 , Me.Button1} )
Me.Name = "Form1"
Me.Text = "测试Web Service"
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.ClickDim MyService As New localhost.Service1 ( )
DataGrid1.DataSource = MyService.Binding ( )
DataGrid1.DataMember = "Cust"
End Sub
Private Sub Button2_Click ( ByVal sender As System.Object ,
ByVal e As System.EventArgs ) Handles Button2.ClickDim MyService As New localhost.Service1 ( )
Dim ds As DataSet = DataGrid1.DataSource
Dim dsChanges As DataSet = ds.GetChanges ( )
If Not ( dsChanges Is Nothing ) Then
ds.Merge ( MyService.Update ( dsChanges ) , True )
End If
End Sub
End Class
关于“VB.NET如何调用Web Service”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/230983.html