请教:DataTable已属于另一个DataSet
发布网友
发布时间:2022-04-11 18:33
我来回答
共5个回答
懂视网
时间:2022-04-11 22:54
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);
//这样就好了!
热心网友
时间:2022-04-11 20:02
问题原因:ds 和 dss为两个dataset,你要将ds的表添加到dss中,这是不允许的,所有报datatable已经属于dataset的错误信息!
解决办法:不能直接用某个dataset的table,那么用这个table的复制品可以吧,所有代码改为: dss.Tables.Add(new ToolClass().TableFilter(ds.Tables[0].Copy(), new ToolClass().GetTime()));
ds.Tables[1]和ds.Tables[2]同理!!
热心网友
时间:2022-04-11 21:20
代码就不看了,至于这个错误,很简单,你对一个DataTable进行反复调用的时候,有必要使用XX.Copy()的方法复制一个新的出来
热心网友
时间:2022-04-11 22:55
对同一个DataTable操作使用copy()方法获取副本,然后对副本进行操作,不可以对引用直接操作,供参考
热心网友
时间:2022-04-12 00:46
学习