名为“ds”的+DataTable+已属于此+DataSet

DataSet   ds   =   new   DataSet();
DataTable   dt   =   ds.Tables.Add();//此时ds中有了一个DataTable了

ds.Tables.Add(dt.Clone());//用上一个表的结构再建一个表
//或者
ds.Tables.Add(ds.Tables[0].Clone()

 

会出现 “System.Data.DuplicateNameException:   已属于此数据集。”的问题

解决方法:

 这个是因为Clone()后生成的表名字和原来是一样的,
你可以把表的名字改一下就可以了,因为我们只要Clone后的表的结构,比如:

DataTable   dt2   =   ds.Tables[0].Clone();
dt2.TableName   =   "DataTable2 ";
ds.Tables.Add(dt2);//用上一个表的结构再建一个表

就可以解决。

posted @ 2013-05-16 11:06  jake2011  阅读(1106)  评论(0编辑  收藏  举报