繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM