网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VB编程 >> 文章正文
  VB6.0调用WebServices的简单示例            【字体:
VB6.0调用WebServices的简单示例
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    

  在.NET平台中期望值最高,广告做的最多的要算是WebServices了。
正在装载数据……
WebServices是Web上的类,与Web应用程序不同的是,这个类不返回HTML页面,只以XML文档返回一个或几个值。因此,任何能够处理XML的应用程序都可以调用其方法和使用其结果。WebServices更多是Internet上的应用,给小型企业内部系统开发WebServices,或许你不屑一顾,但个人认为,与COM+和DCOM相比,从布置到维护,WebServices更胜一筹。同时,从COM数据据传输转换到XML大大提高了应用程序的伸缩性和相互操作性,对不同的需求,可以用不同的语言开发相应的应用程序,并共享数据。 本文不深入探讨WebServices和XML,只示例通过VB6.0调用VS2005编译的WebServices。

  作为VB6.0的程序员和爱好者,数据库开发中的ADO 2.0是再熟悉不过的了。不过.NET平台对ADO的结构体系作了扩展,增加了组件,解决了其不足,优化了性能,也就是ADO.NET。与熟悉的ADO相比,已经有太多的不同。那么,如何在VB6.0中通过WebServices获取记录集呢?示例如下:

'==================== WebServices的代码 ===================

'首先要在COM组件中添加ADO

Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data
Imports System.Data.Odbc
Imports System.Configuration.ConfigurationManager
Imports System.Xml
Imports ADODB

<WebService(Namespace:="http://tempuri.org/")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class TEST
    
Inherits System.Web.Services.WebService

    
'读取config中的连接字符串
    Public Function cnString() As String
        
Return ConnectionStrings("connToPgSql").ToString()
    
End Function


  
'ADO记录集转换为XML
    <WebMethod()> _
    
Public Function RecordsetToXmlTest(ByVal Uid As StringAs XmlDataDocument

        
Dim sql As String = "select * from  where uid='" & Uid & "'"
        Dim cn As New Connection
        
Dim rs As New Recordset
        
Dim st As New Stream
        
Dim xd As New XmlDataDocument

        cn.ConnectionString 
= cnString
        cn.Open()

        rs.Open(sql, cn, CursorTypeEnum.adOpenForwardOnly, LockTypeEnum.adLockReadOnly, 
1)
        rs.Save(st, PersistFormatEnum.adPersistXML)
        st.Flush()
        st.Position 
= 0
        xd.LoadXml(st.ReadText(st.Size))

        
Return xd

        st 
= Nothing
        rs 
= Nothing
        cn 
= Nothing
        xd 
= Nothing

    
End Function


End Class



''======================== VB6.0 的代码 ======================

'引用 Microsoft AML, v6.0
'
引用 Microsoft ActiveX Data objects 2.x Library

    
Dim oHTTP As XMLHTTP
    
Dim oXmlDoc As DOMDocument
    
Dim rs As ADODB.Recordset
    
Dim strURL As String, strRequest As String
    
    strURL 
= "http://localhost/BWR/TEST.asmx/RecordsetToXmlTest"
    strRequest 
= "Uid=admin"
    
    
Set oHTTP = New XMLHTTP
    oHTTP.Open 
"POST", strURL, False
    oHTTP.setRequestHeader 
"Content-Type""application/x-www-form-urlencoded"
    oHTTP.send (strRequest)
    
    
Set oXmlDoc = New DOMDocument
    oXmlDoc.Load oHTTP.responseXML
    
'oXmlDoc.Save (App.Path & " s.xml")
    
    
Set rs = New ADODB.Recordset
    rs.Open oXmlDoc
    
While Not rs.EOF
        Debug.Print rs(
"uid"& rs("username"& rs("pwd")
        rs.MoveNext
    Wend

    
Set XMLHTTP = Nohting
    
Set DOMDocument = Nothing
    
Set rs = Nothing

  其实WebServices通过紧密集成XML而提供相互操作性,从上面的代码中也可以看出,WebServices是以XML文档返回ADO记录集的。所以我们可以完全不用ADO2.0所熟悉的记录集,而是通过直接操作WebServices返回的XML文档,从而实现VB6.0与WebServices的完美结合。

  未完,有空继续......




本文来源:http://blog.csdn.net/vbman2003/archive/2007/08/30/1765393.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     如何在ado中使用connect…
     vb 贪吃蛇 单人版游戏 (…
     关于在vb中进行com组件的…
     用vb6.0编写自我升级的程…
     vb自动登陆网络站点详解…
     vb打造超酷个性化菜单(…
  • EJB3.0入门

  • visual C++ 6.0开发工具与调…

  • OpenCV在VC.net,VC6.0等中的…

  • 《程序员》9期上市,Enterpr…

  • 小记:C++操作符重载后的调用…

  • 函数调用约定

  • Turbo C 2.0 函数中文说明大…

  • 使用.net framework 2.0用c#…

  • VC++ 6.0 的奇异之处

  • VB.NET类的总结(一)

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David