我正在尝试帮助用户从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文件格式是普遍理解的吗?
答案 0 :(得分:1)
您还需要一个额外的步骤。
方法是在C#代码中读入ADO RecordSet ...然后将其转换为DataSet。