DataTable importrow跳过一些值

时间:2019-04-30 07:17:09

标签: c#

我们有一个执行以下操作的功能

  • 给出DataRow
  • 创建数据集的克隆
  • 导入克隆中的给定行

到目前为止,我们对此从未有任何问题。但是,有一种情况发生了,在导入之后创建的行中,某些行将跳过/清空一些值。

我真的不知道为什么会这样

private DataSet GetFullDataSetForCurrentRow(DataRow currentRow)
{
    DataSet clone = null;
    if (currentRow != null)
    {
        clone = currentRow.Table.DataSet.Clone();
        // Get the parent row.
        DataRow rootRow = GetRootRow(currentRow);
        // Import the root row in the clone.
        clone.Tables[rootRow.Table.TableName].ImportRow(rootRow);
        // additonal code skipped...
    }
    return clone;
}

因此,rootRow具有正确的值,但是如果我检查导入的行,则会丢失/跳过某些值。

检查屏幕截图。

https://i.imgur.com/92bLi2R.png https://i.imgur.com/JIyHr4r.png

1 个答案:

答案 0 :(得分:0)

发现了问题。 在该列中设置的值大于该列的大小。 生成了一个异常但将其吞下。

因此,在导入行时,它会跳过这些值。

我真的不确定这些值是如何存储的。因为存在异常,所以理想情况下它应该不存储该值。