兔八哥极品软件园    运行: 4499天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

datatable复制行,该行,列已属于另一个 datatable。

作者:admin 发布于:2015-4-7 13:29 Tuesday 分类:网络转载


下面两个方法是DataRow复制一行到另一个DataTable的,直接Add会出错“此行已属于另一个表”,其实以前就知道怎么做的,可每次要用到的时候还是犯糊涂,这次把它们记下来。
1.用DataRow.ItemArray
DataTable t=new DataTable();
DataRow r=t.NewRow();
r.ItemArray=oldRow.ItemArray;
t.Rows.Add(r);

2.用DataTable.ImportRow()
t.ImportRow(oldRow);

 

从一个TABLE中取一行放到另一个TABLE里报错: 该行已经属于另一个表。的解决办法 
用下面来个方法就OK了。


DataTable dt = new DataTable();

dt = ds.Tables["All"].Clone();//克隆All的结构传递给dt

DataRow[] dr=this.dataSet31.Tables["Product"].Select("bc=1"); //通过条件得到符合条件的行
for(int i=0;i<dr.Length;i++)
{
//将数组元素加入表...
dt.Rows.Add(dr[i]);//出错提示为:该行已经属于另一个表
}
解决方法

dt.Rows.Add(dr[i].ItemArray);

这样就好了!


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap