mehmetduran.com - Paylaşmak Güzeldir...
Asp.net ile Veritabanı İşlemlerinde Etkin Kodlama Yöntemi
Bu yazımda hazırladığımız projelerde veritabanı işlemleri için yapacağımız kodlamaları daha az ve daha etkin biçimde nasıl yapabileceğimizi göstermeye çalışacağım. Yazılım Mühendisliği dersinde bloğumu proje olarak sunacağım. Bu yüzden yaptığım kodlamaları en iyi biçimde optimize etmem gerekiyor. Bunların başında da veritabanı işlemleri için yazmış olduğum kodlar geliyor. Bunun için basit bir yöntem oluşturdum ve sizlerle paylaşacağım. Tabi ne kadar iyi ne kadar kullanışlı bilinmez ama daha önce yaptığım kodlamalara göre oldukça kullanışlı olduğunu söyleyebilirim.

Öncelikle veritabanı ve diğer işlemler için projelerimizde kendi class'larımızı veya namespace'lerimizi oluşturmalıyız. Böylelikle projemizde kodlama bakımından daha etkin bir yöntem kullanmış oluruz. Bloğumu da bu şekilde bir kodlama ile optimize etmek ve proje olarak sunacağım tarihe kadar hazırlamak istiyorum. Örnek kodlamayı aşağıdan görebilirsiniz.

public partial class veritabani : System.Web.UI.Page
{
  protected void Page_Load(object sender, EventArgs e)
  {
    string sorgu = "select * from tablo_adi where parametre_1=@parametre_1 and parametre_2=@parametre_2";
    List<MySqlParameter> pm = new List<MySqlParameter>()
      {
        new MySqlParameter(){ ParameterName = "@parametre_1", Value = 100 },
        new MySqlParameter(){ ParameterName="@parametre_2", Value = "deneme"}
      };
 
    veritabanim vt = new veritabanim();
    GridView1.DataSource = vt.veri_al(sorgu, pm);
    GridView1.DataBind();
  }
}
 
public class veritabanim
{
  public veritabanim()
  {
    baglanti_cumlesi = "server=localhost; user=user; password=password; database=database;";
    baglanti = new MySqlConnection(baglanti_cumlesi);
  }
 
  private string baglanti_cumlesi;
  private MySqlConnection baglanti;
 
  //bu metotu kullanarak tüm sorgulamalarımızı çalıştırabiliriz. 
  public DataTable veri_al(string sorgu, List<MySqlParameter> parametreler)
  {
    MySqlDataAdapter adaptor = new MySqlDataAdapter(sorgu, baglanti_cumlesi);
    foreach (MySqlParameter pm in parametreler)
    {
      adaptor.SelectCommand.Parameters.Add(pm);
    }
    DataTable tablo = new DataTable();
    adaptor.Fill(tablo);
    return tablo;
  }
}

Görüldüğü gibi tek bir metot ile tüm sorgulamarımızı parametre kullanarak güvenli bir biçimde gerçekleştirebiliriz. Ayrıca tanımladığımız bağlantı nesnesini ve bağlantı cümlesini de public olarak tanımlayıp class dışından da erişebiliriz ve böylece tekrar tekrar bu nesneleri oluşturmaya gerek kalmaz.

Ayrıca verdiğim örnek kodlarda veritabanı olarak Mysql kullandım. Böylece .Net projelerimizde Mysql'e nasıl bağlanacağımızı ve nasıl verileri çekeceğimizi görmüş olduk.

İyi Çalışmalar!
Bookmark and Share
Bu Yazıyı Değerlendirin.
Konuyla İlgili Olabilecek Diğer Yazılar jQuery Ajax ile Dropdown Etkileşimleri (Eklenti ile) C#'ta Recursive ve Dinamik Programlama ile Fibonacci Algoritması Asp.net, Jquery ve Ajax ile Yapmış Olduğum Galeri Hazır Yoğunluk, Yaşanan Problemler Cache Coherence Kavramı
Yorumlar
Yorum Yaz
RSS Yorum Takibi
sinan özkan 28 Şubat Cumartesi 2009 21:22 #1
mehmet güzel anlatmıssın emegine saglık obje kullanmak her zaman çok faydalı küçük projelerde belki bunu anlayamayız fakat çok büyük projelerde obje halinde veritabanı kullanmak gerçekten çok işe yarıyor hem kod fazlalığı önlenmiş oluyor hem de sonradan yapacağımız değişiklikler kolaylıkla yapılabiliyor
İhsan Bulut 02 Mart Pazartesi 2009 11:28 #2
Blog uygulaman gerçekten çok güzel. Abartmadan söylüyorum açık kaynak olarak verilen blog uygulamalarının hemen hemen hepsinden daha güzel bir uygulama. açık kaynak olarak dağıtsan sadece Türkiyede değil aynı zamanda dünyada kullanılabilecek bir uygulama. devamlı geliştirebileceğini düşünüyorsan bence düşünmelisin. lisansını alıp yayınlayabilirsin.
Mehmet Duran 02 Mart Pazartesi 2009 11:47 #3
Bloğumu hazırlamaya başladığımda amacım diğer blog sistemleri gibi herkes tarafından kullanılabilecek kolay, basit bir blog hazırlamaktı. Geldiğimiz noktada görüyorumki bloğum hakikaten diğer blog sistemleri gibi. Şu sıralar kodlamaları ve yönetim bölümünü gözden geçiriyorum ve son teknolojileri kullanmaya çalışıyorum. Bence güzel bir sistem oldu. İlerde açık kaynak olarak paylaşmayı düşünebilirim. Ancak şu anda düşünmüyorum.
İhsan Bulut 02 Mart Pazartesi 2009 12:41 #4
Ben dağıtmam şahsen. ama hani dağıtsan baya bi tutulur demek istedim.
süleyman 11 Haziran Perşembe 2009 16:39 #5
mehmet başlangıç için güzel yalnız tam optimum değil çünkü sen sadece connection açmayı ve geri dönen değeri çözmüşsün. Aslında veritabanı işlemleri yaparken en zor işlem input ve output parametreleri eklemektir. Biraz bunun üzerine çalışabilirsin veya internetten arayarak da bulabilirsin. Bu arada blog uygulaman gerçekten çok güzel. Başarılar.
Mehmet Duran 11 Haziran Perşembe 2009 18:15 #6
Merhaba. Öncelikle bloğum için yaptığın yorum için teşşekkür ederim. Söylediğin çok doğru. Ancak verdiğim kodlar sadece örnek ve tam olarak bu şekilde bir kullanım olsun diye vermedim. Dediğiniz gibi yapılacak birçok işlem ve kontrol var. Ben bu örnekte sadece bağlantı nesnesi tanımlamayı ve herhangi bir sorguyu çalıştırmak için gereken metodu yazdım.
elif dönmez 15 Temmuz Çarşamba 2009 18:12 #7
merhaba bunun update delete ve insert commandları için nasıl bi kod yazmalıyız ben yapamadım bi gösterirmisiniz
osman durmuş 15 Temmuz Çarşamba 2009 19:03 #8
insert,update ve delete yapmak istiyorsanız sqldataadapter yerine sqlcommand tanımlıyoruz ve adaptor.Parameters.Add(pm); şeklinde ekliyoruz baglanti open ve closen diyoruz command nesnesine executenonquery yapıyoruz
Mehmet Duran 15 Temmuz Çarşamba 2009 23:00 #9
Merhaba. Osman arkadaşımızın dediği gibi ekleme, update ve silme işlemleri için gerekli veritabanı için Command nesnesini ve ExecuteNonQuery metodunu kullanabiliriz.
İsim :
Site :
Yorum :

Buradan bu yazıya ait yorumları RSS olarak takip edebilirsiniz.

Bu servis ile yazılara eklenen yorumları RSS ile takip ederek konu ile ilgili başkaları tarafından yapılan yorumları veya konuyla ilgili sorduğunuz sorulara verilen cevapları görebilirsiniz.
Hizmet amaçlı işler başarıya, kar amaçlı olanlar ise başarısızlığa yöneliktir.
Bölümler
Yazılar
Arşiv
Arama
Linkler
Site İçi Arama
Son Zamanlarda Ne Yapıyorum ?
İstatistikler - Araçlar - Reklam
İstatistikler
Sayaç
Mehmet Duran | mehmetduran.com | Copyright © 2009