C# ExecuteScalar , ExecuteNonQuery ve ExecuteReader Kullanımı

2 ay önce , Okuma süresi 1 dakika.

C# uygularımızda veritabanıyla ilgili bir sorgu yazdırdığımızda bu sorguyu çalıştırmak için C# bize çeşitli metodlar sunmuştu.
C# ExecuteScalar , ExecuteNonQuery ve ExecuteReader Kullanımı

ExecuteScalar : Sorgumuz scalar tek bir değer döndürüyorsa sorgumuzu bu metod ile çalıştırmakta sorgu hızı bakımından fayda vardır.

ExecuteNonQuery : Sorgumuzda UPDATE, DELETE gibi işlemler yapıyorsak bu metodu kullanmalıyız. Ayrıca bu metod ektilediği kayıt sayısını döndürür.

ExecuteReader : Eğer sorgumuzda bir tablo için SELECT işlemi yaptıysak SELECT attığımız kayıtları okumak için bu metodu kullanmalıyız.

ExecuteScalar kod örnek :

mySqlConnection.Open();
mySqlCommand.Connection = mySqlConnection;
mySqlCommand.CommandType = CommandType.Text;
mySqlCommand.CommandText = "SELECT COUNT(ID) FROM DENEMETABLE";
int count = (int) mySqlCommand.ExecuteScalar();

ExecuteNonQuery:

mySqlConnection.Open();
mySqlCommand.Connection = mySqlConnection;
mySqlCommand.CommandType = CommandType.Text;
mySqlCommand.CommandText = "UPDATE DENEMETABLE SET WEBSITE = 'safakunel.blogspot.com' WHERE ID = 1";
mySqlCommand.ExecuteNonQuery();
int etkilenenKayitSayisi = mySqlCommand.ExecuteNonQuery();

ExecuteReader:

mySqlConnection.Open();
mySqlCommand.Connection = mySqlConnection;
mySqlCommand.CommandType = CommandType.Text;
mySqlCommand.CommandText = "SELECT * FROM DENEMETABLE";
SqlDataReader r = mySqlCommand.ExecuteReader();
while (r.Read())
{
//okunan satırla ilgili işlemler buraya yazılır.
}
r.Close();
mySqlConnection.Close();
#c#