kbv*_*hnu 40 .net vb.net datatable
将数据集中的一个数据表添加到另一个数据集时会发生此错误."DataTable已经属于另一个DataSet."
dsformulaValues.Tables.Add(m_DataAccess.GetFormulaValues
(dv.ToTable.DefaultView.ToTable(False, strSelectedCols)).Tables(0))
Run Code Online (Sandbox Code Playgroud)
Jay*_*ggs 81
与其他响应一样,您看到的错误是因为您尝试添加到DataSet的DataTable已经是不同DataSet的一部分.
一种解决方案是复制 DataTable并将副本分配给另一个DataSet.
dtCopy = dataTable.Copy()
ds.Tables.Add(dtCopy)
Run Code Online (Sandbox Code Playgroud)
复制的DataTable将具有复制的DataTable的结构和数据.
如果您只想要DataTable的结构,请改为调用Clone.
dtCopy = dataTable.Clone()
Run Code Online (Sandbox Code Playgroud)
小智 33
接受的答案不是很好.克隆应始终是最后一个选项.
这是解决问题的方法,而不会产生克隆的开销.
DataSet ds = GetData1();
DataSet ds2 = GetData2();
//Assuming you know you've got good data
DataTable dt = ds2.Tables[0];
ds2.Tables.Remove(dt);
dt.TableName = "PortedTable";//you may need to change the table name to prevent conflicts
ds.Tables.Add(dt);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
72587 次 |
| 最近记录: |