"Invalid attempt to read when no data is present." - Hatasi ve Çözümü
Bu makalemde ,Asp.Net 'de proje gelistirirken Ado.Net mimarisi kullanarak veritabani islemlerinizi gerçeklestirirken karsilasabileceginiz hatalardan birisi "Invalid attempt to read when no data is present" Hatasini ve Çözümünü anlatacagim .
Hatanin sebebi yanlis SqlDataReader ile veritabanindan veri okuma islemi yaptigimizda eger Asp.Net data kontrolüne okuyorsak böyle bir hata ile karsilasmayiz zira Data Kontrolüne tüm çekilen veri okunur bu hata eger satir okuma islemi yapiyorsak çekilen veriden tablosundan bir satir okuyorsak bu hata ile karsilasabiliriz.
Örnegin TextBox1'e tablonun bir satirindan MusteriAd isimli sütunu okuyalim burada satir okumasi yaptigimizdan SqlDataReader kullanirken Read() metodunu kullaniriz Read() metodu satir okumda kullanilmalidir aksi takdir bu hata çikar hemen örnek üzerinde göstereyim
SqlDataReader dr=sorgu.ExecuteReader();
TextBox1.Text=dr["MusteriAd"].ToString();
Bu sekilde çalistirildiginda hata verir hatasiz hali
SqlDataReader dr=sorgu.ExecuteReader();
while(dr.Read()==true)
{
TextBox1.Text=dr["MusteriAd"].ToString();
}
Bu sekilde hatasiz olmus olur. While kullanmamizin sebebi okuyabildigi sürece okusun anlamindadir.
Iyi Çalismalar .
COMMENTS