c# Reader kontrol

C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
Cevapla
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

c# Reader kontrol

Mesaj gönderen m_ekici »

s.a.

Kod: Tümünü seç

Qry = new SqlCommand(Sorgula, conn);
   SRdr = Qry.ExecuteReader();
   Lvw2.BeginUpdate();
   Lvw2.Items.Clear();
   while (SRdr.Read())
           {
             ListViewItem lv2 = new ListViewItem(SRdr["NAME"].ToString());
             lv2.SubItems.Add(SRdr["MIKTAR"].ToString());
             Lvw2.Items.Add(lv2);
            }
yukarıdaki kodda SRdr (SqlDataReader) bazen boş (query ye uyan kayıt olmuyor), bazen de null olarak dönebiliyor. O zaman While ile başlayan satırda hata veriyor. while den önce query sonucu kayıt sayısını veya NULL olup olmadığının kontrolünü nasıl yaparım? Teşekkürler
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Re: c# Reader kontrol

Mesaj gönderen lazio »

Sorgula değişkenindeki query de

Kod: Tümünü seç

where NAME is not null and MIKTAR is not null 
desen daha kolay olmaz mı?
Resim

..::|YeşilMavi|::..
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: c# Reader kontrol

Mesaj gönderen m_ekici »

olur da bazen query sonucunda hiçbir kayıt dönmüyor. lv2.SubItems.Add(SRdr["MIKTAR"].ToString()); e girdiğinde hata veriyor.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Re: c# Reader kontrol

Mesaj gönderen lazio »

query sonuç dönmediği durumlarda

Kod: Tümünü seç

while (SRdr.Read())
döngüsüne girmeyecektir zaten
Resim

..::|YeşilMavi|::..
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: c# Reader kontrol

Mesaj gönderen m_ekici »

lazio yazdı:query sonuç dönmediği durumlarda

Kod: Tümünü seç

while (SRdr.Read())
döngüsüne girmeyecektir zaten
select te hiçbir satır gelmiyor fakat o döngüye giriyor.

Kod: Tümünü seç

                                while (Baglan.SqlRdr2.Read())
                                {
                                    try { FFiy = Convert.ToDouble(Baglan.SqlRdr2["FIYAT"]); }
                                    catch { FFiy = 0; };
                                    try { FMik = Convert.ToDouble(Baglan.SqlRdr2["MIKTAR"]); }
                                    catch { FMik = 0; };
                                    FisteVarmi = true;
                                }
                                if (FisteVarmi == true)
profiler den SELECT i alıp deniyorum. select sonucu na uyan kayıt yok ama FistVarmi true çıkıyor. Satır satır çalıştırıyorum while e giriyor. bunu nasıl engellerim veya while den önce Sqlreader in boş olup olmadığını nasıl kontrol ederim?

iyi çalışmalar
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: c# Reader kontrol

Mesaj gönderen unicorn64 »

döngüden önce

Kod: Tümünü seç

FisteVarmi = false;
deyip denermisin, kayıt gelmiyorsa döngüye girmemesi lazım.

ayrıca yanlış hatırlamıyorsam

Kod: Tümünü seç

Baglan.SqlRdr2.RowsAffected

Baglan.SqlRdr2.RowCount
yada benzer bi property ile sorgudan kayıt dönüp dönmediğini görebilirsin...
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Re: c# Reader kontrol

Mesaj gönderen lazio »

Ezebere konuşunca

Kod: Tümünü seç

while (SRdr.Read())
döngüye girmez demişim ama Read() methodu ilk seferde giriyor sanırım. Yanlış bilgi için kusura bakmayın :oops:

Kod: Tümünü seç

if (SRdr.HasRows) 
{
  while (SRdr.Read())
  {
    ....
    ....
  }
}
Resim

..::|YeşilMavi|::..
Kullanıcı avatarı
m_ekici
Kıdemli Üye
Mesajlar: 563
Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:

Re: c# Reader kontrol

Mesaj gönderen m_ekici »

estf

Bu Visual studio yu yazanı bir elime geçirirsem ... :Nevil

:shock:

hasrow propery si bende çıkmıyor? (system.data ekli) :x

Mobile 5.0 da yadığım için olabilir mi?
Kullanıcı avatarı
unicorn64
Üye
Mesajlar: 919
Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^

Re: c# Reader kontrol

Mesaj gönderen unicorn64 »

tam hatırlamıyorum ama kuvvetle muhtemel..
compact framework de bir çok konuda normaline göre eksiklikler, desteklenmeyen birçok özellik vardı..
bazen yükselmek için önce dibi görmek gerekir...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...

yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Resim
Cevapla