从XML读取ADODB.Recordset错误(ADODB.Stream)

从XML读取ADODB.Recordset错误(ADODB.Stream),xml,vb6,adodb,recordset,Xml,Vb6,Adodb,Recordset,我将从场景开始: 我有一个VB6应用程序,它将从web服务获取数据,并使用ADODB.Recordset管理这些数据 为了实现这一点,我创建了一个连接到web服务的DLL,并创建了以下格式的xml(从MSDN支持中检索): 现在,这执行得很好,但是当我尝试使用Column1时,我得到了一个关于一些缺少的列的运行时错误。当我检查记录集a并将其转换为XML进行比较时,我得到以下结果: <xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14

我将从场景开始:

  • 我有一个VB6应用程序,它将从web服务获取数据,并使用ADODB.Recordset管理这些数据
  • 为了实现这一点,我创建了一个连接到web服务的DLL,并创建了以下格式的xml(从MSDN支持中检索):

    现在,这执行得很好,但是当我尝试使用Column1时,我得到了一个关于一些缺少的列的运行时错误。当我检查记录集a并将其转换为XML进行比较时,我得到以下结果:

       <xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
        xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
        xmlns:rs='urn:schemas-microsoft-com:rowset'
        xmlns:z='#RowsetSchema'>
        <s:Schema id='RowsetSchema'><s:ElementType name='row' content='eltOnly' rs:updatable='true'>
                <s:AttributeType name='Column2' rs:number='1'>
                    <s:datatype dt:type='string' dt:maxLength='4294967295' rs:long='true'/>
                </s:AttributeType><s:AttributeType name='Column3' rs:number='2'>
                    <s:datatype dt:type='string' dt:maxLength='4294967295' rs:long='true'/>
                </s:AttributeType>
         </s:Schema>
         <rs:data>
         <z:row Column2 = "ABC" Column3 = "DEF"/>
         <z:row Column2 = "JKL" Column3 = "MNO"/>
         </rs:data>
         </xml>
    
    
    
    出于某种原因,它将从xml中删除第一列,但获取它的值并将其用于其余列。我试图添加一个虚拟列,但没有成功。我添加了一个ID列,但它不起作用

    你知道为什么会这样吗?此记录集用于填充数据网格视图。是否有任何与ADO记录集等效的VB6对象可用于从XML字符串加载数据

        Dim RS As ADODB.Stream
        Set RS = New ADODB.Stream
        RS.Open
        RS.WriteText XML 'This have the XML string 
    
        RS.Position = 0
    
        Dim recset As ADODB.Recordset
        Set recset = New ADODB.Recordset
    
        recset.Open RS
    
        RS.Close
        Set RS = Nothing
    
       <xml xmlns:s='uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882'
        xmlns:dt='uuid:C2F41010-65B3-11d1-A29F-00AA00C14882'
        xmlns:rs='urn:schemas-microsoft-com:rowset'
        xmlns:z='#RowsetSchema'>
        <s:Schema id='RowsetSchema'><s:ElementType name='row' content='eltOnly' rs:updatable='true'>
                <s:AttributeType name='Column2' rs:number='1'>
                    <s:datatype dt:type='string' dt:maxLength='4294967295' rs:long='true'/>
                </s:AttributeType><s:AttributeType name='Column3' rs:number='2'>
                    <s:datatype dt:type='string' dt:maxLength='4294967295' rs:long='true'/>
                </s:AttributeType>
         </s:Schema>
         <rs:data>
         <z:row Column2 = "ABC" Column3 = "DEF"/>
         <z:row Column2 = "JKL" Column3 = "MNO"/>
         </rs:data>
         </xml>