C# 忽略冲突属性:使用DataTable.Merge()时数据类型属性不匹配
合并不同的表时,是否有方法忽略数据类型属性 原因:从下面的C# 忽略冲突属性:使用DataTable.Merge()时数据类型属性不匹配,c#,arrays,datatable,C#,Arrays,Datatable,合并不同的表时,是否有方法忽略数据类型属性 原因:从下面的method(),所有dtArray都来自其他方法(将不同的Excel数据转换为DataTable)。在清理了足够多的Excel数据后,dtArray中的一些Datacolumn似乎仍然存在格式问题(如图所示): *。%值和%Value具有冲突的属性:数据类型属性不匹配* 经过调试,我意识到了这一点 对于i=0,由于dtAll已初始化,因此所有操作都正常工作 public DataTable MergeAllDataTable(DataT
method()
,所有dtArray
都来自其他方法(将不同的Excel
数据转换为DataTable
)。在清理了足够多的Excel
数据后,dtArray
中的一些Datacolumn
似乎仍然存在格式问题(如图所示):
*。%值和%Value具有冲突的属性:数据类型属性不匹配*
经过调试,我意识到了这一点
对于i=0
,由于dtAll
已初始化,因此所有操作都正常工作
public DataTable MergeAllDataTable(DataTable[] dtArray)
{
DataTable dtAll = new DataTable();
for (int i = 0; i < dtArray.Length; i++)
{
DataTable dtget = dtArray[i];
dtAll.Merge(dtget, true);
}
return dtAll;
}
公共数据表MergeAllDataTable(DataTable[]dtArray)
{
DataTable dtAll=新的DataTable();
for(int i=0;iColumn
查找Column
并修复任何格式问题,而是想知道是否存在诸如ignoreDataType property
之类的选项,因为到目前为止我还不知道
更新:最后,我要寻找的选项是合并(tbl,true,MissingSchemaAction.Ignore)
。仍然引起混淆的是,在上述MergeAllDataTable()
中包含了此选项。
事实上,我使用了dtAll.Merge(dtget,true,MissingSchemaAction.Ignore)代码>在仍然触发错误的相关范围内
因此,作为一种方式,我承认这不是真正有效的,我宣布
Table1.Merge(Table2,true,MissingSchemaAction.Ignore)
,Table3.Merge(Table4,true,MissingSchemaAction.Ignore)
等,对属性不匹配进行排序。不过,如果能看到一种更好的方法来通过循环处理它,这可能会很有趣,正如最初在MergeAllDataTable()
最佳那么您当前的代码会发生什么情况?如果您将其扩展为一个。谢谢您的反馈,但是我想知道是否有人在合并数据表时注意到了诸如忽略数据类型属性
之类的选项。为了有“选项”,必须有一个特定的问题。您现在已经对问题进行了一些改进,但a将使问题变得更好。你的问题越好,你就越有可能得到有用的答案。。。你的问题对未来的读者越有用。请努力使这个问题成为一个好问题