This Row already belongs to another table error when trying to add rows?

后端 未结 7 1511
闹比i
闹比i 2020-11-28 02:58

I have a DataTable which has some rows and I am using the select to filter the rows to get a collection of DataRows which I then loop through using foreach and add it to ano

7条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-11-28 03:27

    You need to create a new Row with the values from dr first. A DataRow can only belong to a single DataTable.

    You can also use Add which takes an array of values:

    myTable.Rows.Add(dr.ItemArray)
    

    Or probably even better:

    // This works because the row was added to the original table.
    myTable.ImportRow(dr);
    
    // The following won't work. No data will be added or exception thrown.
    var drFail = dt.NewRow()
    drFail["CustomerID"] = "[Your data here]";
    // dt.Rows.Add(row); // Uncomment for import to succeed.
    myTable.ImportRow(drFail);
    

提交回复
热议问题