我正在尝试将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也是一个数据集。有人可以帮我解决这个问题吗?
答案 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