Satır C SqlDataReader kullanarak dizi nasıl#
Sorum şu satırları sorgu C SqlDataReader
kullanarak geri sayısını almak için nasıl#. Bu konuda bazı cevaplar gördüm ama hiçbiri Net Read()
yöntemi ile bir döngü yapmak ve bir sayacı artırmak için durumları hariç belirlendi.
Benim sorunum ilk satır sütun adları ve ondan sonraki her satır ile çok boyutlu bir dizi doldurmak için satır veri olmaya çalışıyorum.
Biliyorum ben sadece döküm malzeme Listesi kontrol ve merak etmeyin, ama benim kendi kişisel Yetiştirme ve istiyorum çekin verileri girip dizisi olarak seçiyorum ve ekran içinde farklı biçimlerde.
Sanırım bunu yapamam Read()
ve sonra bir artış, çünkü bu şu demek ki aç Read()
ve Aç Read()
tekrar ulaşmak miktarda satır ve sütun veri.
Neden bahsettiğimi küçük bir örnek sadece
int counter = 0;
while (sqlRead.Read())
{
//get rows
counter
}
ve bir döngü için sütunlar ve pop çalıştırmak için
something.Read();
int dbFields = sqlRead.FieldCount;
for (int i = 0; i < dbFields; i )
{
// do stuff to array
}
CEVAP
Sadece iki seçenek vardır:
Tüm satırları (ve sonra da bunları saklamak isteyebilirsiniz okuyarak öğrenin
özel bir SELECT COUNT(*) önceden sorgu çalıştırın.
İki kez veri okuyucu döngü geçiyor yeniden yürütmek için sorgu olurdu gerçekten pahalı.
Ve (Pete OHanlon sayesinde) ikinci seçeneği-güvenli eşzamanlılık zaman sadece Anlık veya RepeatableRead yalıtım düzeyi ile. bir hareketi kullanın
Beri istediğin için sona saklamak tüm satırları bellek zaten tek mantıklı seçenek için okuduğum tüm satırlarda esnek depolama (List<>
DataTable
) ve daha sonra kopya veri için herhangi bir formatta istediğiniz. Bellek işlemi her zaman çok daha etkili olacaktır.
Nasıl bir yeni satır (\n) sed kullanar...
Nasıl hat Java kullanarak büyük metin ...
Nasıl liste öğeleri CSS kullanarak sat...
Nasıl bir öğeyi silmek veya bir dizi n...
Nasıl birden fazla satır grep kullanar...