bu yazımızda SqlConnection nesnesi ile bağlantı kurduğumuz veritabanı üzerinde sorgulama işlemleri yapmamız için gerekli olan ado.net nesnelerinden SqlCommand nesnesi üzerinde duracağız.SqlCommand nesnesinin en temel özellikleri veritabanı üzerinde;
gibi işlemleri yapabilmemize yarar.
Connection Özelliği;
SqlCommand nesnesinin hangi connection üzerinde çalıştığını belirlemek için kullanılır.SqlCommand nesnesi bağlantısı sağlanmış bir SqlConnection nesnesi üzerinden veritabanı işlemlerini gerçekleştirebilir.
connection nesnemizi yapılandıralım
nesne örneğimizi yaratalım ;
nesnemizin connection özelliğini kullanarak nesnemizi SqlConnection nesnemize bağlayalım;
SqlCommand nesnemizin sorgu tipini belirtelim;
Veritabanında işlemek istediğimiz sorgumuzu nesnemizin CommandText özelliğine Atayalım;
buraya kadar yaptığımız işlemler sqlcommand nesnemizin bağlantısını ve çalıştırmak istediğimiz sorguyu set etmekten ibaret.şimdi yapacağımız işlemler ile sorgumuzun işlendikten sonra tarafımıza dönecek değerleri kontrol etmeye yarayacak.SqlCommand nesnemizin execute metodları ile yaptığımız işlemlerin sonuçlarını alabiliriz.(Döndürmek istediğimiz sorgu sonuçları gibi).
SqlCommand nesnemizin başlıca execute metodları;
ExecuteScalar();Execute scalar metodu sqlcommand nesnemizin bize tek bir değer döndürmesini sağlar.
Kullanımı ;
ExecuteReader();
Execute reader metodu Sqlcommand nesnemizin sorgu sonucunda dönen tüm değerleri tarafımıza iletmesi için kullanılır.
Kullanımı ;
ExecuteNonQuery();
Execute non query metodu Sqlcommand nesnemizden geriye değer dönmesini istemediğimizde kullanılır.insert update delete işlemlerinde tercih edilir.
Kullanımı ;
ExecuteXmlReader ();
Bu metod kullanımında geriye dönen değer xml formatında olur. veritabanından XML formatlı değerler elde edebilmek için command nesnemizin bu özelliği kullanılır
Kullanımı ;
*command nesnemizden dönen değerleri değişkene atayarak kullanabilirsiniz
ayrıca sqlcommand nesnemizin parametre oluşturma özelliği ile veritabanı tipine uygun parametreler oluşturarak işlemlerimizi daha hızlı ve güvenli şekilde yapabiliriz.özellikle injection gibi konularda parametre kullanmak yararımıza olur.normal koşullarda inputları direk olarak sorgu içerisine aldığınızda (özellikle insert(ekleme) işlemlerinde) SqlCommand nesnesi kullanıcıdan almış olduğu değerin veritabanındaki kolon tipi ile uygun olup olmadığını kontrol etmektedir.fakat verilerinizi sqlcommand parametreleri içerisinde set ederseniz,girdiğiniz değer parametre tipine uygun değilse size hata verecektir.parametre kullanımı bence önemlidir.
parametre tanımlama ve değer aktarımı en basit şekilde;
Bir sonraki Yazımızda görüşmek üzere hepinize iyi çalışmalar.
- Ekleme (INSERT)
- Silme (DELETE)
- Güncelleme (UPDATE)
- Seçme (SELECT)
gibi işlemleri yapabilmemize yarar.
Connection Özelliği;
SqlCommand nesnesinin hangi connection üzerinde çalıştığını belirlemek için kullanılır.SqlCommand nesnesi bağlantısı sağlanmış bir SqlConnection nesnesi üzerinden veritabanı işlemlerini gerçekleştirebilir.
connection nesnemizi yapılandıralım
SqlConnection baglanti=new SqlConnection(); baglanti.ConnectionString="Server=localhost;Port=3306;Database=candb;Uid=root";
nesne örneğimizi yaratalım ;
SqlCommand komut=new SqlCommand();
nesnemizin connection özelliğini kullanarak nesnemizi SqlConnection nesnemize bağlayalım;
komut.Connection=baglanti;
SqlCommand nesnemizin sorgu tipini belirtelim;
komut.CommandType=CommandType.Text;
Veritabanında işlemek istediğimiz sorgumuzu nesnemizin CommandText özelliğine Atayalım;
komut.CommandText="SELECT * FROM tabloadi";
buraya kadar yaptığımız işlemler sqlcommand nesnemizin bağlantısını ve çalıştırmak istediğimiz sorguyu set etmekten ibaret.şimdi yapacağımız işlemler ile sorgumuzun işlendikten sonra tarafımıza dönecek değerleri kontrol etmeye yarayacak.SqlCommand nesnemizin execute metodları ile yaptığımız işlemlerin sonuçlarını alabiliriz.(Döndürmek istediğimiz sorgu sonuçları gibi).
SqlCommand nesnemizin başlıca execute metodları;
- ExecuteScalar();
- ExecuteReader();
- ExecuteNonQuery();
- ExecuteXmlReader ():
ExecuteScalar();Execute scalar metodu sqlcommand nesnemizin bize tek bir değer döndürmesini sağlar.
Kullanımı ;
komut.ExecuteScalar();
ExecuteReader();
Execute reader metodu Sqlcommand nesnemizin sorgu sonucunda dönen tüm değerleri tarafımıza iletmesi için kullanılır.
Kullanımı ;
komut.ExecuteReader();
ExecuteNonQuery();
Execute non query metodu Sqlcommand nesnemizden geriye değer dönmesini istemediğimizde kullanılır.insert update delete işlemlerinde tercih edilir.
Kullanımı ;
komut.ExecuteNonQuery();
ExecuteXmlReader ();
Bu metod kullanımında geriye dönen değer xml formatında olur. veritabanından XML formatlı değerler elde edebilmek için command nesnemizin bu özelliği kullanılır
Kullanımı ;
komut.ExecuteXmlReader ();
*command nesnemizden dönen değerleri değişkene atayarak kullanabilirsiniz
ayrıca sqlcommand nesnemizin parametre oluşturma özelliği ile veritabanı tipine uygun parametreler oluşturarak işlemlerimizi daha hızlı ve güvenli şekilde yapabiliriz.özellikle injection gibi konularda parametre kullanmak yararımıza olur.normal koşullarda inputları direk olarak sorgu içerisine aldığınızda (özellikle insert(ekleme) işlemlerinde) SqlCommand nesnesi kullanıcıdan almış olduğu değerin veritabanındaki kolon tipi ile uygun olup olmadığını kontrol etmektedir.fakat verilerinizi sqlcommand parametreleri içerisinde set ederseniz,girdiğiniz değer parametre tipine uygun değilse size hata verecektir.parametre kullanımı bence önemlidir.
parametre tanımlama ve değer aktarımı en basit şekilde;
cmd.Parameters.Add("@Name", SqlDbType.VarChar, 50).Value = "Can Çevikoğlu";şeklinde yapılır.
Bir sonraki Yazımızda görüşmek üzere hepinize iyi çalışmalar.
Yorumlar
Yorum Gönder