首页 > 解决方案 > DataTable importrow 跳过一些值

问题描述

我们有一个执行以下操作的函数

到目前为止,我们从来没有遇到过任何问题。但是,有一种情况发生在导入后创建的行正在跳过/清空一些值。

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

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

标签: c#

解决方案


发现了问题。列中设置的值大于列的大小。产生了异常但被吞没了。

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

我真的不确定,这些值最初是如何存储的。因为有一个异常,理想情况下它不应该存储该值。


推荐阅读