C#,多表DataRow增加时’该行已经属于另一个表’,的解决方法
将tableA表内的一行数据复制到tableB中,最开始大家想到的方法是
DataTable dtA = obj.QueryA();
DataTable dtB = dtA.Clone(); //—克隆表A的结构
foreach(DataRow item in dtA.Rows)
{
DataRow Nitem = item;
dtB.Rows.Add(Nitem);
}
报错:该行已经属于另一个表
怎么办呢?以下提供一个笨的方法和一个简单的方法
笨方法:
foreach(DataRow item in dtA.Rows)
{
DataRow Nitem = dtA.NewRow();
for (int k = 0; k < item.Table.Columns.Count;k++ )
{
Nitem[k] = item[k];
}
dtB.Rows.Add(Nitem);
}
简单方法:
foreach(DataRow item in dtA.Rows)
{
dtB.ImportRow(item);
}