“无法设置列'COLUMN_NAME'。该值违反了此列的MaxLength限制。”

时间:2019-04-19 13:24:30

标签: c# excel database datatable

我有两个具有一些列的数据表,并且我有两个对两个数据表行进行比较。

在比较两个数据表之前,我正在修改一个表的数据类型,从而使两个数据表具有相同的数据类型。

下面是我用于修改列的数据类型的代码,但是当我运行代码时,出现以下异常:

  

“无法设置列'COLUMN_NAME'。该值违反了MaxLength   此列的限制。”

如果我的比较失败,则无法将其更改为默认字符串类型。

    public DataTable ModifyDataTableType(DataTable 
             refrenceDataTable,DataTable dataTable)

{
      DataTable dtCloned = dataTable.Clone();

        try{
            for(int i = 0;i<dtCloned.Columns.Count;i++)
            {
                dtCloned.Columns[i].DataType = 
                              refrenceDataTable.Columns[i].DataType;
            }

            dtCloned.AcceptChanges();
            foreach(DataRow dr in dataTable.Rows)
            {
                //Exception is thrown here
                dtCloned.ImportRow(dr);   
            }

        }catch(Exception ex)
        {
            Report.Log(ReportLevel.Info,"Exception message:- "+ex.Message);
        }
        return dtCloned;
}

我应该能够获得带有引用数据表数据类型行的数据表

0 个答案:

没有答案