0
0
C# Ado.Net ExecuteScalar, ExecuteReader ve ExecuteNonQuery arasındaki fark nedir?
Ado.Net'te bir komut nesnesini çalıştırmak istediğinizde size birden fazla yöntem ile çalıştırma imkanı sunar.
Bu yöntemler farklı senaryolarda kullanılır.
C# Ado.Net ExecuteScalar, ExecuteReader ve ExecuteNonQuery hangi durumlarda hangisini kullanmalıyım?
ExecuteScalar:
Eğer sorgunuzdan tek bir değer dönecekse ExecuteScalar kullanın. Örneğin
Select Count(*) from Kullanicilar
Bu sql sorgusu kullanıcılar tablosundaki kullanıcıların toplam sayısını döndürür. Bu değer 0, 20, 450 gibi sayılsal bir değerdir.
Select Ad from Kullanicilar Where No=1
Bu sorgunun sonucunda tek bir değer dönüyorsa, örneğin Ali, Veli gibi o zaman yine ExecuteScalar kullanılmalıdır.
ExecuteReader:
Eğer SQL sorgusu sonucunda birden fazla satır dönüyorsa, o zaman ExecuteReader kullanılmalıdır
Örneğin
select * from kullanicilar
sorgusunda tüm kullanıcılar dönecektir. Bu durumda ExecuteReader kullanılmalıdır.
ExecuteNonQuery :
SQL sorgusu sonucunda bir dönüş beklenmiyorsa o zaman ExecuteNonQuery kullanılmalıdır.
Örneğin silme veri ekleme gibi işlemlerde SQL sunucudan bir dönüş beklemeyiz. SQL'den veri çekmeyeceksek o zaman ExecuteNonQuery uygundur.
Delete from Kullanici Where No=2
Örnek sorguda 2 numaralı kullanıcı silinecektir. Böyle bir sorguda genel senaryolarda SQL'den bir veri beklemeyiz. Yine aynı şekilde Insert kullanıldığında vbir veri beklemeyiz. Insert ve Delete işlemlerinde ExecuteNonQuery kullanılmalıdır.
Cevap yazabilmek için üye girişi yapmalısınız.