我想把DATASET里面的一行赋给DATATABLE 
DataRow dr=ProdutsData.nt.NewRow();//DataTable 新建一行,
dr=ds.Tables[0].Rows[0];
但是提示错误
该行已属于另外一张表
什么意思
怎么解决

解决方案 »

  1.   

    DataRow\DATATABLE\DATASET都是引用类型的
    要把那行建副本,再操作
      

  2.   

    这是个比较麻烦的问题.你可以这样理解,在调用NewRow()的时候,dr内部就已经形成了对应于该DataTable的结构,并且包含了指向DataTable的指针,所以他不能再被指向另一个行.
    如果你要对他赋值的话必须分别对其各字段赋值.很麻烦.你可以再考虑一下,是否有别的方法实现你的需求.