C# ExecuteScalar, ExecuteNonQuery ve ExecuteReader Kullanımı

C# uygulamalarımızda veritabanıyla ilgili bir sorgu yazdırdığımızda bu sorguyu çalıştırmak için C# bize çeşitli metodlar sunmuştur. Bunlar :

ExecuteScalar : Sorgumuz scalar (sayısal) 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 etkilediğ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 kullanımı ile ilgili örnek

mySqlConnection.Open();
mySqlCommand.Connection = mySqlConnection;
mySqlCommand.CommandType = CommandType.Text;
mySqlCommand.CommandText = “SELECT COUNT(ID) FROM TABLO_ADI”;
int count = (int) mySqlCommand.ExecuteScalar();

ExecuteNonQuery kullanımı ile ilgili örnek

mySqlConnection.Open();
mySqlCommand.Connection = mySqlConnection;
mySqlCommand.CommandType = CommandType.Text;
mySqlCommand.CommandText = “UPDATE TABLO_ADI SET WEBSITE = ‘erdemaydin.net.tr’ WHERE ID = 1”;
mySqlCommand.ExecuteNonQuery();
int etkilenenKayitSayisi = mySqlCommand.ExecuteNonQuery();

ExecuteReader kullanımı ile ilgili örnek

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