2012-02-20 23 views
17

Asp.net web sitemde bir sorunum var, bir datatable'ı başka bir veri tabanına kopyalamaya çalışıyorum, ancak bunu yapmaya çalıştığımda her zaman bir hata alıyorum: hata durumundaki gibiBu satır zaten başka bir masaya ait

This row already belongs to another table. 

cevap

17

, bir DataRow örneği onun DataTable sahip olma ve başka bir masaya eklenemez bağlıdır. Bu satırın gerçek kopyasını almak için ImportRow() method kullanın.

+1

Tamam, Microsoft ... o olduğunu fark Neden, neden, bir istisnai istisna atmak yerine, bizim için bu durumda ImportRow'u çalıştırıyorsunuz? * iç * – SeanKendle

+1

@ KanalKendle: Hayır; Bazen ekleme yapmaksızın satırın bir kopyasını yapmak çok kötü bir fikir olur. – SLaks

+0

"Satır ekle" ifadesinin * bir kopyasını oluşturması anlamına gelmeyecek bir durum var mı? Ya da, zaten başka bir tablonun üyesiyse satır ekleyebilir misin? – SeanKendle

4

Örnek

için İlk dr gelen değerlerle yeni oluşturmanız gerekir. Bir DataRow sadece bir DataTable'a ait olabilir. Muhtemelen daha iyi

myTable.Rows.Add(dr.ItemArray) 

Veya:

Ayrıca değer dizisi aldığı Ekle kullanabilirsiniz

myTable.ImportRow(dr); 

Link

İlgili konular