web-dev-qa-db-ja.com

この行はすでに別のテーブルに属しています

私のasp.net Webサイトに問題があります。あるデータテーブルから別のデータテーブルにデータ行をコピーしようとしていますが、これを実行しようとするたびにエラーが発生します。

This row already belongs to another table.
17
user1221021

エラーが示すように、DataRowインスタンスはそれを所有するDataTableに関連付けられており、別のテーブルに追加できません。

代わりに、 ImportRow() method を使用して、行の実際のコピーを作成します。

17
SLaks

例えば

最初に、Rowの値を使用して新しいdrを作成する必要があります。 DataRowは、単一のDataTableにのみ属することができます。

値の配列を取るAddを使用することもできます。

myTable.Rows.Add(dr.ItemArray)

またはおそらくさらに良い:

myTable.ImportRow(dr);

リンク

4
Durgesh Pandey