忽略冲突的属性:使用DataTable.Merge()的DataType属性不匹配

时间:2016-08-19 08:13:12

标签: c# arrays datatable

有没有办法在合并不同的表时忽略DataType property

原因:从下面method()开始,所有dtArray来自其他方法(将不同的Excel数据转换为DataTable)。清理了足够的Excel数据后,Datacolumn中的某些dtArray仍然会出现格式问题(如图所示):

*<target>. % Value and <source> % Value have conflicting properties: Datatype property mismatch*

调试后我意识到了这一点。

对于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;
}

目标:而不是每Column Column并修正任何格式问题,我想知道忽略options是否存在DataType property因为到目前为止我还没有意识到这一点。

更新:最后我正在寻找的选项是Merge(tbl, true, MissingSchemaAction.Ignore)。仍然引起混淆的是将option纳入MergeAllDataTable()以上。 事实上,我在相关范围内使用dtAll.Merge(dtget, true,MissingSchemaAction.Ignore);仍然触发了错误。

因此,作为一种方式,承认它不是真正有效,我宣布 Table1.Merge(Table2,true,MissingSchemaAction.Ignore)Table3.Merge(Table4,true,MissingSchemaAction.Ignore)等,对property mismatch进行排序。然而,最初在loops

中尝试通过MergeAllDataTable()更好地处理它可能会很有趣

最佳

0 个答案:

没有答案