3

我正在使用 C# 中的数据集和数据表。

我的第一个问题是如何将 DataRow[] 对象转换为 DataTable,我通过这个链接解决了这个问题:

将数据行数组转换为数据表的简单方法

所以,我做了以下事情:

// Gets the rows according to the relation
DataRow[] rows = someDataRow.GetChildRows("the_table_relation");
DataTable newDataTable = rows.CopyToDataTable<DataRow>();    

我使用的所有数据都在一个 DataSet 中,所以,我的问题是我的对象newDataTable不再包含对我的 DataSet 的引用(即newDataTable.DataSet等于null)。

有没有办法在不丢失对我的数据集的引用的情况下进行转换?

希望可以有人帮帮我。

提前致谢

4

3 回答 3

11

大概你已经一个DataTable?如果是这样,请使用将现有表作为参数的重载:CopyToDataTable

rows.CopyToDataTable<DataRow>(existingTable, LoadOption.Upsert);

或者,你可以使用DataTableCollection.Add(DataTable)吗?

dataSet.Tables.Add(table);
于 2012-06-29T19:17:42.667 回答
4
 DataView DV = MyDataTable.AsDataView();
 DV.RowFilter = "Id = '" + RecordId + "'";
 DataTable newDataTable = DV.ToTable();
于 2014-11-23T09:17:31.150 回答
1

我相信解决方案可能包含在 Jon Skeet 的回答中 dataSet.Tables.Add(newDataTable)

问题是 newDataTable 没有 DataSet 子控件,而是有一个 DataSet 父控件。也就是说,DataSet 可以包含表,而 newDataTable 的 DataSet 是“拥有 newDataTable 的 DataSet”,在您在上面创建的表的情况下,它在添加到 DataSet 之前为空。

于 2012-06-29T20:10:23.830 回答