Ado.net den kurtulmanın yolu

20. Haziran 2009

Ado.net temel olarak tüm coder lerin bilmesi gereken yapı taşıdır. Temel olması nedeniyle ve yazılımlarımızdaki hayati fonksiyonları performans, güvenlik vs vs bir sürü soru işaretini beraberinde getirir. Ben ado.net den kurtulmanın yolunun SqlHelper kullanmak olduğunu düşünüyorum. Sıkıcı connection kontrolleri, hata yönetimi, performans ve daha fazlasını bizler için yapanı Microsoftdaki amcalarımız yazmış biz neden uğraşalımki. Tabiki ExecuteScalar, ExecuteXmlReader, ExecuteNonQuery nin nasıl kullanıldıgını bilmeliyiz ama bunları bize en kolay kullandıran SqlHelperi kullanıp Ado.net sorununa bir son verebiliriz.

Sizde benim gibi düşünüyorsanız SqlHelpere biraz göz atalım;

- Öncelikle Microsoft.ApplicationBlocks.Data.dll i indirmemiz gerekmektedir. Güncel versiyonlarını bulabilceginiz adres Burada


- İndirdikten sonra projemize add reference yapıp projeyi rebuild edip namespace e using Microsoft.ApplicationBlocks.Data; yı eklememiz gerekmektedir.



SqlHelper metotları ve kullanımları


ExecuteNonQuery : Satır öndürmeyen  komut çalıştırır.

Örn:

                SqlParameter[] parameters = new SqlParameter[]
                {
                    new SqlParameter("@KATEGORI_ID", product.CategoryID),
                    new SqlParameter("@URUN_NAME", product.ProductName),
                    new SqlParameter("@URUN_BASLIK", product.ProductTitle),
                    new SqlParameter("@URUN_ACIKLAMA", product.ProductDescription),
                    new SqlParameter("@URUN_RESIM", product.ProductImage),
                    new SqlParameter("@SYS_CREAIP", product.Ip)
 
                };
                result = SqlHelper.ExecuteNonQuery(ConnectionString.Bilmemne.com, CommandType.StoredProcedure, "URN_URUN_I", parameters);

ExecuteDataset  :
Dataset şeklinde dönen satırlar döner.

Örn:
       

                SqlParameter[] parameter = new SqlParameter[] { new SqlParameter("@CATEGORYID", id) };
                dt = SqlHelper.ExecuteDataset(ConnectionString.Bilmemne.com, CommandType.StoredProcedure, "URN_KATEGORI_S", parameter).Tables[0];
                if (dt != null && dt.Rows.Count > 0)
                {
                    category = new Category();
                    category.CategoryName = dt.Rows[0]["KATEGORI_NAME"].ToString();
                    category.CategoryDesc = dt.Rows[0]["KATEGORI_DESC"].ToString();
                    category.CategoryKeyword = dt.Rows[0]["KATEGORI_KEYWORD"].ToString();
                    category.CategoryID = Convert.ToInt32(dt.Rows[0]["KATEGORI_ID"]);
                }

ExecuteReader :  SqlDataReader olarak geri dönüş sağlar.

Örn:

                SqlParameter[] parameters = new SqlParameter[]
                {
                    new SqlParameter("@KATEGORI_NAME", category.CategoryName),
                    new SqlParameter("@SYS_CREAIP", category.Ip)
 
                };
                SqlDataReader rd = SqlHelper.ExecuteReader(ConnectionString.Bilmemne.com, CommandType.StoredProcedure, "URN_KATEGORI_I", parameters);
                if (rd.Read())
                    result = Convert.ToInt32(rd["RETURN"]);



ExecuteScalar                           : Bir nesne olarak tek değer geri dönüşü sağlar.
ExecuteXmlReader                    : XmlReader içinde bir Xml döndürür
FillDataset                                 : Atadığımız parametrelere göre Dataset doldurur
UpdateDataset                          : Gönderilen update, insert, delete komutlarına göre DataSetin satırında değişiklik yapar.
CreateCommand                       : Atanan StoredProcedure ün Parametrelerine göre Command nesnesi yaratır.
ExecuteNonQueryTypedParams  : Hiç bir satır döndürmeyen bir komutu çalıştırır.
ExecuteDatasetTypedParams     :  
ExecuteReaderTypedParams      :
ExecuteScalarTypedParams       :
ExecuteXmlReaderTypedParams : Yorum yazmadıklarım ExecuteNonQueryTypedParams la aynıdır sadece geri dönüşleri vardır.

12 kişi tarafından 3.7 olarak değerlendirildi

  • Currently 3,666667/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Ado.net ,

Yorumlar

Yorum ekle


(Gravatar simgesini gösterecek)  

  Country flag

biuquote
  • Yorum
  • Canlı önizleme
Loading