C# System.Data.DuplicateNameException:名为“xxx“的列已属于此DataTable

我遇到这个报错起因:
我是读取csv文件保存到DataTable中,遇到这个报错。
(有可能读取其他格式都会遇到这个问题)
解决
csv里面数据改成UTF-8
我遇到这个报错,是这个原因引起的哈。
其他原因,其他博主总结的很详细,根据其他博主总结的,自己Debug就能找到原因

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
这个错误通常是因为代码中使用了错误的方法或参数来调用 FillSchema 方法。FillSchema 方法是用来填充数据表的架构信息,它需要传入一个数据集或数据表参数。根据错误信息,我们可以看到代码中将 OleDbConnection 对象直接传入了 FillSchema 方法,导致参数类型不匹配,从而引发了重载决策失败的错误。 解决这个错误的方法是,确认你的代码中是否正确地调用了 FillSchema 方法,并且传入了正确的参数。如果你需要填充整个数据集的架构信息,应该使用数据适配器的 FillSchema 方法,例如: ```vb.net Dim connection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ExcelFile.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;'") Dim adapter As New OleDbDataAdapter("SELECT * FROM [Sheet1$]", connection) Dim dataSet As New DataSet() adapter.FillSchema(dataSet, SchemaType.Source) ``` 在上面的代码中,我们首先创建了一个 OleDbConnection 对象和一个 OleDbDataAdapter 对象,然后使用 FillSchema 方法将架构信息填充到数据集中。注意,我们传入的第一个参数是一个数据集对象,而不是 OleDbConnection 对象。 如果你只需要填充单个数据表的架构信息,可以使用 FillSchema 方法的另一个重载,例如: ```vb.net Dim connection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ExcelFile.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES;'") Dim adapter As New OleDbDataAdapter("SELECT * FROM [Sheet1$]", connection) Dim dataTable As New DataTable() adapter.FillSchema(dataTable, SchemaType.Source) ``` 在上面的代码中,我们创建了一个 DataTable 对象,然后使用 FillSchema 方法将架构信息填充到数据表中。注意,我们传入的第一个参数是一个数据表对象,而不是 OleDbConnection 对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

快乐觉主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值