Invalid attempt to read when no data is present Hatası
 

"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 .

 

Author: Engin ATALAY
Date: 15.02.2013 13:47:06
View Count: 8116
 
 

COMMENTS
 
No comments yet. Be the first to comment who you are.
 
 
 
 
 
 
 
WRITE COMMENT
 
 
Your Name :
 
 
 
E-mail :
 
 
 
Your Message :
 
 
 
 
 
 
 
This project : ASP.NET MVC , RAZOR, Entity Framework , CSS , HTML , JQUERY(2.0.2) , AJAX the C# side-tier architecture was developed with logic.
 
Yukarı Çık