MrC*_*uer 23 c# datatable dataset
我正在尝试向一个新的DataSet X添加一个DataTable,它位于不同的DataSet Y中.如果我直接添加它,我会收到以下错误:
DataTable已经属于另一个DataSet.
我是否必须克隆DataTable并将所有行导入其中,然后将新的DataTable添加到新的DataSet中?有没有更好/更简单的方法呢?
sta*_*ica 65
有两种简单的方法可以做到这一点:
DataTable.Copy而不是DataTable.Clone,用于DataTable.Copy创建数据表的副本; 然后将副本插入目标DataSet:
dataSetX.Tables.Add( dataTableFromDataSetY.Copy() );
Run Code Online (Sandbox Code Playgroud)
DataSet.Merge你也可以使用DataSet.Merge这个:
dataSetX.Merge(dataTableFromDataSetY);
Run Code Online (Sandbox Code Playgroud)
但请注意,如果要使用此方法,则可能需要确保目标DataSet尚未包含具有相同名称的表:
如果目标DataSet不包含同名的表,则在数据集内创建表的新副本;
如果目标数据集中已存在同名的表,那么它将与传递给的表合并,Merge最终会混合使用两者.