c# - DataTable importrow 跳过一些值
问题描述
我们有一个执行以下操作的函数
- 给定一个 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
解决方案
发现了问题。列中设置的值大于列的大小。产生了异常但被吞没了。
因此,在导入行时,它跳过了这些值。
我真的不确定,这些值最初是如何存储的。因为有一个异常,理想情况下它不应该存储该值。
推荐阅读
- java - 如何使用打开的相机android在相机预览屏幕中添加镜像效果
- sql - 防止在表更新时同时触发多个触发器
- java - 使用 Apache POI 在 Excel 中嵌入 PDF 和 Word 文档
- javascript - 如何将数据传递到 chartjs 标签?
- cypress - 赛普拉斯:如果条件满足,我需要退出 for 循环
- java - 在java Android中检查字符串是否仅包含数字和空格
- rabbitmq - 当我们使用 RabbitMQ 发布消息时如何打印订阅者的状态
- jupyter-notebook - 如何像我们在 pycharm 或可视代码中一样在 jupyter notebook 中拥有自动完成功能?
- kubernetes - 通过 Helm 安装 ingress-nginx - 检索密码时出错
- python - 在 Python 中使用文件属性时在控制台上显示打印