具有现有架构的DataTable未导入同一架构的DataRow
本文关键字:一架 DataRow DataTable 导入 | 更新日期: 2023-09-27 18:12:20
问候!将创建的行导入数据集中的DataTable时遇到问题。我从一个空的SQL数据库中预填充"newDataSet",但它确实包含已经设置了架构的表。我已经验证了"newDataSet"中的DataTables正在将架构导入到它们中。
一切看起来都很好,因为没有错误日志,但从未添加过数据行。我的Console.WriteLine报告返回的计数相同。
感谢您花时间回顾这篇文章。我很感激你。
初始设置:
var DataSet newDataSet = new DataSet("foo"); // A SQL Adapater was used to fill this from a pre existing Database.
var checkDataSet = new DataSet();
var checkDataTable = new DataTable();
正在克隆数据集和数据表。
checkDataSet = newDataSet.Clone();
checkDataTable = checkDataSet.Tables["moreFoo"].Clone();
创建数据行:
var newDataRow = checkDataTable.NewRow();
填写数据行中的列:
newDataRow[0] = obj1;
newDataRow[1] = obj2;
newDataRow[2] = obj3;
将DataRow导入"newDataSet"DataTable:
Console.WriteLine(newDataSet.Tables["moreFoo"].Rows.Count.ToString());
newDataSet.Tables["moreFoo"].ImportRow(newDataRow);
Console.WritelLine(newDataSet.Tables["moreFoo"].Rows.Count.ToString());
答案是:
newDataSet.Tables["moreFoo"].ImportRow(newDataRow);
应该是:
newDataSet.Tables["moreFoo"].Rows.Add(newDataRow.ItemArray);