SqlCommand, T-Sql sorguları ile veritabanı üzerinde sorgulama, ekleme, güncelleme, silme işlemlerini yapmak için kullanılmaktadır. System.Data.SqlClient namespace' i altında bulunmaktadır. SqlCommand nesnesinin özellikleri aşağıdaki gibidir.
CommandType: Çalıştırılacak olan sql cümlesinin tipini belirlemek için kullanılmaktadır.
CommandText: Çalıştırılacak olan sorgu cümlesi yazılmaktadır.
Transaction: Çalıştırılacak olan sorguların kontrollü bir şekilde işlenmesini sağlamaktadır. Genellikle insert, update ve delete işlemlerinde kullanılmaktadır.
Parameters: T-Sql cümlesi ya da Stored Procedure içerisinde kullanılan parametreleri setlemek için kullanılmaktadır.
CommandTimeout: Çalıştırılacak olan sorgunun işlenme süresini belirtmek için kullanılmaktadır. Varsayılan timeout süresi 30 saniyedir.
Execute metodları aşağıdaki gibidir.
ExecuteScalar: Tek alanlık bir değeri geri döndürmek için kullanılmaktadır. Object tipinde veri döndürmektedir.
ExecuteReader: Birden fazla satır sonucu döndüren sorgular için kullanılmaktadır. Geriye SqlDataReader tipinde veri döndürmektedir.
Buraya kadar anlatmış olduklarımıza göre Execute metodlarını daha iyi anlamak için bir kaç örnek yapalım. İlk olarak ExecuteNonQuery metodu ile tablomuza bir adet kayıt ekleyelim.
private void btnKayitEkle_Click(object sender, EventArgs e) { string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456;"; SqlConnection con = new SqlConnection(BaglantiAdresi); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "INSERT INTO Kisiler (Adi, Soyadi) VALUES ('Ali', 'Can')"; con.Open(); cmd.ExecuteNonQuery(); con.Close(); }
ExecuteScalar metodu;
private void btnScalar_Click(object sender, EventArgs e) { string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456;"; SqlConnection con = new SqlConnection(BaglantiAdresi); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "SELECT Adi FROM Kisiler"; con.Open(); object Adi = cmd.ExecuteScalar(); con.Close(); }
ExecuteReader metodu;
private void btnReader_Click(object sender, EventArgs e) { string BaglantiAdresi = "Server=.;Database=Hokumus;User Id=sa;Password=123456;"; SqlConnection con = new SqlConnection(BaglantiAdresi); SqlCommand cmd = new SqlCommand(); cmd.Connection = con; cmd.CommandText = "SELECT Adi FROM Kisiler"; con.Open(); SqlDataReader dr = cmd.ExecuteReader(); ArrayList Isimler = new ArrayList(); while (dr.Read()) { Isimler.Add(dr["Adi"]); } dr.Close(); con.Close(); }
SqlCommand nesnesi ile ilgili anlatılacak daha bir çok özellik bulunmaktadır. Bu özellikleri kendi makaleleri içerisinde anlatmak isterim. Buraya kadar olan kısım nesneyi kullanmak için yeterlidir.
Başarılar dilerim.