[英]Clone DataTable from One Dataset to DataTable of Other 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
客户也是数据集。 有人可以帮我解决这个问题吗
您收到的错误与此类似:
属性或索引器'System.Data.DataTableCollection.this [int]'不能分配给它-只读
您一次做对了,然后在接下来的行中做错了。 该错误告诉您, 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
您需要将ds.Tables[indexer]
包装在ds.Tables[indexer]
()
以便编译器将其视为数据表。
您应该分配一个DataTable
变量以保持可读性:
var sourceTable = cust.Tables[0];
/* ... */
ds.Tables.Add(sourceTable.Clone());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.