从ADO(VB6)读取XML文件到.Net DataSet

时间:2010-05-29 12:36:49

标签: c# xml dataset ado recordset

我正在尝试帮助用户从VB6应用程序迁移到C#应用程序。 VB6应用程序允许通过XML从ADO(2.8)记录集导出数据,但C#应用程序无法读取XML,从而产生以下错误:

System.Data.DuplicateNameException:名为“name”的列已属于此DataTable

VB6代码

    Dim RS As Recordset
    Set RS = p_CN.Execute("SELECT * FROM tblSuppliers INNER JOIN tblSupplierGroups ON tblSupplierGroups.SupplierGroupID=tblSuppliers.SupplierGroupID")
    RS.Save sDestinationFile, adPersistXML
    Set RS = Nothing

C#代码

        DataSet ds = new DataSet();
        ds.ReadXml(xmlFilePath);

我显然错误地认为XML文件格式是普遍理解的吗?

1 个答案:

答案 0 :(得分:1)

您还需要一个额外的步骤。

方法是在C#代码中读入ADO RecordSet ...然后将其转换为DataSet。

http://metrix.fcny.org/wiki/display/tips/How+to+Convert+an+ADO+Recordset+to+an+ADO.NET+Dataset+using+XML