c# Reader kontrol

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

c# Reader kontrol

Mesaj gönderen m_ekici » 10 May 2010 01:42

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 03:55
Konum: İstanbul
İletişim:

Re: c# Reader kontrol

Mesaj gönderen lazio » 10 May 2010 04:43

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: 556
Kayıt: 11 Haz 2003 05:49
Konum: Adana
İletişim:

Re: c# Reader kontrol

Mesaj gönderen m_ekici » 17 May 2010 01:50

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 03:55
Konum: İstanbul
İletişim:

Re: c# Reader kontrol

Mesaj gönderen lazio » 17 May 2010 04:29

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: 556
Kayıt: 11 Haz 2003 05:49
Konum: Adana
İletişim:

Re: c# Reader kontrol

Mesaj gönderen m_ekici » 27 May 2010 05:49

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 07:56
Konum: yine yeniden Ankara ^_^

Re: c# Reader kontrol

Mesaj gönderen unicorn64 » 27 May 2010 06:01

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 03:55
Konum: İstanbul
İletişim:

Re: c# Reader kontrol

Mesaj gönderen lazio » 31 May 2010 09:55

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: 556
Kayıt: 11 Haz 2003 05:49
Konum: Adana
İletişim:

Re: c# Reader kontrol

Mesaj gönderen m_ekici » 04 Haz 2010 10:17

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 07:56
Konum: yine yeniden Ankara ^_^

Re: c# Reader kontrol

Mesaj gönderen unicorn64 » 04 Haz 2010 08:21

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