本篇内容主要讲解“怎么解决ADO记录集问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决ADO记录集问题”吧!
学习ADO时,你可能会遇到ADO记录集问题,这里将介绍ADO记录集问题的解决方法,在这里拿出来和大家分享一下。根据您决定使用哪一种上述解决方案,可以有几种不同的方法来实现这一点。我们将单独考察每个解决方案。返回的数据是记录集的一种简单XML数据表示。现在,我们将使用MicrosoftXMLDocumentObjectModel(DOM)来检索此数据,以便在内部循环处理每一条记录,XML对这一过程的表示如下:
PrivateSubCommand1_Click() DimaryArtists()AsString DimoRopeasNewRope.Proxy oRope.LoadServicesDescriptionicURI,"http://MyServer/GetArtists.xml" GetArtistsFromXMLoRope.GetAllArtists(),aryArtists() '现在aryArtists()是包含我们的艺术家的一个数组 SetoRope=Nothing EndSub http://www.mscto.com PrivateSubGetArtistsFromXML(ByValsXMLAsString,ByRefaryArtists()AsString) DimoXMLAsNewMSXML.DOMDocument DimoXMLDocumentAsMSXML.IXMLDOMElement DimiCountAsInteger DimxAsInteger oXML.loadXMLsXML SetoXMLDocument=oXML.documentElement iCount=oXMLDocument.childNodes.length ReDimaryArtists(iCount-1) Forx=0ToiCount-1 aryArtists(x)=oXMLDocument.childNodes.Item(x).Text Next SetoXML=Nothing SetoXMLDocument=Nothing EndSub
Command1_Click()方法使用ROPE调用服务。因为该服务按解决方案1中指定的方式返回数据,所以现在就可以传递包含在我们的XML字符串中的返回数据。我们按值传递该字符串,并按引用传递一个将被置入PublicSubGetArtistsFromXML中的空数组。此过程置入数组并将它返回给调用过程。数组变量aryArtists()现在包含我们的艺术家的一个数组。为了将此XML数据返回给一个ADO记录集,我们需要将数据加载到XMLDOM中,然后使用ADO记录集的OPEN方法创建艺术家的记录集:
PrivateSubCommand1_Click() DimoRSAsADODB.Recordset DimoRopeasNewRope.Proxy oRope.LoadServicesDescriptionicURI,"http://MyServer/GetArtists.xml" SetoRS=CreateADORSFromXML(oRope.GetAllArtists()) '现在oRS是包含我们的艺术家数据的一个分离的ADO记录集 SetoRope=Nothing SetoRS=Nothing EndSub PrivateFunctionCreateADORSFromXML(ByValsXMLAsString)AsADODB.Recordset DimoXMLAsNewMSXML.DOMDocument DimoRSAsNewADODB.Recordset oXML.loadXMLsXML oRS.OpenoXML SetCreateADORSFromXML=oRS SetoRS=Nothing SetoXML=Nothing EndFunction
在Command1_Click()事件中,ROPE对象调用我们的方法,该方法会就像在解决方案2中那样返回我们的XML字符串。通过调用CreateADORSFromXML函数,就可以设置一个对象引用从SOAP返回数据创建一个分离的记录集。
到此,相信大家对“怎么解决ADO记录集问题”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。