C# (C Sharp) veya Java ile ilgili konuları buraya yazabilirsiniz.
m_ekici
Kıdemli Üye
Mesajlar: 563 Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:
Mesaj
gönderen m_ekici » 10 May 2010 02: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
lazio
Moderator
Mesajlar: 1526 Kayıt: 11 Tem 2003 04:55
Konum: İstanbul
Mesaj
gönderen lazio » 10 May 2010 05: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ı?
..::|Yeşil Mavi|::..
m_ekici
Kıdemli Üye
Mesajlar: 563 Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:
Mesaj
gönderen m_ekici » 17 May 2010 02:50
olur da bazen query sonucunda hiçbir kayıt dönmüyor. lv2.SubItems.Add(SRdr["MIKTAR"].ToString()); e girdiğinde hata veriyor.
lazio
Moderator
Mesajlar: 1526 Kayıt: 11 Tem 2003 04:55
Konum: İstanbul
Mesaj
gönderen lazio » 17 May 2010 05:29
query sonuç dönmediği durumlarda
döngüsüne girmeyecektir zaten
..::|Yeşil Mavi|::..
m_ekici
Kıdemli Üye
Mesajlar: 563 Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:
Mesaj
gönderen m_ekici » 27 May 2010 06:49
lazio yazdı: query sonuç dönmediği durumlarda
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
unicorn64
Üye
Mesajlar: 919 Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^
Mesaj
gönderen unicorn64 » 27 May 2010 07:01
döngüden önce
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...
lazio
Moderator
Mesajlar: 1526 Kayıt: 11 Tem 2003 04:55
Konum: İstanbul
Mesaj
gönderen lazio » 31 May 2010 10:55
Ezebere konuşunca
döngüye girmez demişim ama Read() methodu ilk seferde giriyor sanırım. Yanlış bilgi için kusura bakmayın
Kod: Tümünü seç
if (SRdr.HasRows)
{
while (SRdr.Read())
{
....
....
}
}
..::|Yeşil Mavi|::..
m_ekici
Kıdemli Üye
Mesajlar: 563 Kayıt: 11 Haz 2003 06:49
Konum: Adana
İletişim:
Mesaj
gönderen m_ekici » 04 Haz 2010 11:17
estf
Bu Visual studio yu yazanı bir elime geçirirsem ...
hasrow propery si bende çıkmıyor? (system.data ekli)
Mobile 5.0 da yadığım için olabilir mi?
unicorn64
Üye
Mesajlar: 919 Kayıt: 04 Nis 2006 08:56
Konum: yine yeniden Ankara ^_^
Mesaj
gönderen unicorn64 » 04 Haz 2010 09:21
tam hatırlamıyorum ama kuvvetle muhtemel..
compact framework de bir çok konuda normaline göre eksiklikler, desteklenmeyen birçok özellik vardı..