2008-09-15 29 views
5

Bir DataTable'dan diğerine birkaç bin satırlık veri aktarmanın en hızlı yolu nedir? Bazı örnek kod snippet'lerini görmek harika olurdu.Bir DataTable'dan diğerine veri kopyalama

Düzenleme: Biraz daha açıklamam gerekiyor. Satırları kopyalamak için bir filtreleme koşulu vardır. Yani, düz bir Copy() çalışmayacak.

+0

Yalnızca belirli satırları veya tüm DataTable'ı kopyalamanız gerekiyor mu? –

+0

Sadece belirli satırlar. Yayını da güncelledi. – Alex

+0

DataView.Filter ve ardından DataTable.Copy ile filtreleyebilir misiniz? – GEOCHET

cevap

7

Tüm tabloyu kopyalayamazsınız, bir satır kopyalamanız gerekir.

"Nasıl ImportRow yöntemini kullanmadan önce, hedef tablo kaynak tablo olarak aynı yapıya sahip olduğundan emin olmalıdır DataTable Arasındaki DataRow kopyalama (Bağlantıyı izlerseniz örnek kod) http://support.microsoft.com/kb/308909 itibaren. Bu örnek kullanır Tüm DataTable şemaları, ilişkileri ve kısıtlamaları da dahil olmak üzere DataTable yapısını kopyalamak için DataTable sınıfının klonlama yöntemi

Bu örnek, Microsoft SQL Server Northwind veritabanıyla birlikte gelen Ürünler tablosunu kullanır.İlk beş satır kopyalanır Ürünler tablosundan, bellekte oluşturulan başka bir tabloya. "

+0

tam olarak bir klon değil.Adım el ile veri tek tek yineleme olduğunu sanırım .. – Alex

3

DataTable.Copy ile ilgili sorun nedir?

+0

Biraz daha açıklamam gerekiyor.Karşıları kopyalamak için bir filtreleme koşulu var.Yani, bir Copy() çalışmayacak. – Alex

2

Satırları bir tabloya kopyalamak bana bazı bayraklar atar. İnsanların bunu daha önce denediğini gördüm ve her durumda gerçekten istedikleri şey System.Data.DataView idi. RowFilter özelliğinin yapmanız için gerekenleri yapıp yapmayacağını gerçekten kontrol etmelisiniz.

İlgili konular