将DataTable从一个数据集克隆到其他DataSet的DataTable

时间:2016-05-12 12:43:21

标签: c# datatable merge dataset

我正在尝试将Datable从一个数据集克隆到来自其他数据集的数据表,但它不起作用。

Dataset ds = new Dataset();

 ds.Tables.Add("key");
 ds.Table["key"] = cust.Tables[0].Clone(); // This line is not working

以上代码给出了以下错误

Property or indexer 'System.Data.DataTableCollection.this[int]' cannot be assigned to — it's read only

cust也是一个数据集。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

您获得的错误类似于:

  

属性或索引器'System.Data.DataTableCollection.this [int]'不能   被分配 - 它是只读的

你正在做的一次,然后你在后面做错了。 错误告诉您,Export-Csv ('security-log-{0:MM-dd-yyyy}.csv' -f Get-Date) 是只读的。您无法为其指定任何值,因此您必须使用cust.Tables[0]方法:

Add()

您需要将DataSet cust = new DataSet(); // create source DataSet cust.Tables.Add("sourceTable"); //add table to source DataSet ds = new DataSet(); // create target DataSet ds.Tables.Add((cust.Tables[0]).Clone()); //clone source table (ds.Tables[0]).TableName = "keys"; // assign name 包装在paranthesis ds.Tables[indexer]中,以便编译器将其视为数据表。

您应该指定一个()变量以保持可读性:

DataTable