Asp.Net ile Çok Katmanlı Mimari

Şimdi gelelim bu yapımıza ait bir sorgu classı oluşturmaya oluşturacağımız classda sadece SQL sorgularımız yer alıcak.Ben bu classımın adına VideoizleDB.cs adını verdim.

Classımızı açtık sonra yine gerekli namespace eklemelerini yapıyoruz.

using System.Data.OleDb;

Sıra geldi connection adındaki veri tabanı ile bağlantı sağlayan classımızı türetmeye classımız içerisinde yapıcı metotumuzun hemen üstünde öncelikle bunu bir sağlayalım.

connection baglanti = new connection(); // Veri tabanı ile bağlantı sağlayan classımızı türettik.

Şimdide bize DataTable döndüren bir metod lazım böylece veri tabanından gerekli sorguyu yaptıktan sonra DataTable ın içini doldurup istediğimiz yerde kullanabiliriz.

public DataTable Videolarim(int Videoid)
{
String Sorgu= "Select * from videolarim where Videoid=" + Videoid
OleDbDataAdapter da = baglanti.ExecAdapter(Sorgu);
DataTable dt = new DataTable();
da.Fill(dt);
return dt;
}

Burada dikkat ederseniz. OleDbDataAdapter ımızı türetmiyoruz sadece connection classımız içerisinde yazdığımız ExecAdapter adındaki metot’a yönlendiriyoruz.Böylece connection classımız içerisinde veri tabanına bağlanıp gerekli sorgulamayı yaptıktan sonra bize içi dolu bir OleDbDataAdapter gelicek.Gelen Adaptor nesnesinin içeriğini DataTable nesnemize atmak ve bunu istediğimiz sayfada kullanmak kalıyor.

Şimdi VideoizleDB classımızın diğer metotlarını yazmaya.İsterseniz birde kaydettirme işlemini burda burdan yapalım.Ben bunun için YorumKayit adında geriye void (Hiçbirşey) döndürmeyen bir metot yazacam.

public void YorumKayit(String yorumadsoyad, String yorumemail, String yorumsite, String yorumicerik, String yorumquery, String yorumip)
{
OleDbCommand komut = baglanti.ExecCommand("Insert into videoyorum(yorumadsoyad,yorumemail,yorumsite,yorumicerik,yorumquery,yorumtarih,yorumip,onay) values('" + yorumadsoyad + "' , '" + yorumemail + "','" + yorumsite + "' ,'" + yorumicerik + "','" + yorumquery + "','" + DateTime.Now + "','" + yorumip + "','" + 0 + "')");
baglanti.connectionopen();
komut.ExecuteNonQuery();
baglanti.connectionclose();
} // Dikkat ederseniz burda da OleDbCommand nesnemizi türetmeden connection classımız içerisinden kullandık.

Şimdi isterseniz bunları Videoizle.aspx.cs tarafında kullanalım.Gene her zaman ki gibi gerekli namespacelerimizi ekliyoruz.

using System.Data.OleDb;

Sırada tahmin ettiğiniz gibi connection ve VideoizleDB classımızı türetmeyi yapacaz. J

connection baglanti = new connection();
VideoizleDB videolar = new VideoVideoizleDB();

Öncelikle Videolarim adlı metot ile videoları Videoidlerine göre sayfamızda gösterelim.

void Videolar()
{
int query = Convert.ToInt32(Request.QueryString["videoid"]);
Dtvideolar.DataSource = videolar.Videolarim(query).DefaultView;
Dtvideolar.DataBind();
} // DataList (Dtvideolar) ile verilerimizi bağlıyoruz ve sitemizde gösteriyoruz.

Tarih:
Hit: 5112
Yazar: TR_ip



Yorumlar


Siftahı yapan siz olun
Yorum yapabilmek için üye girişi yapmalısınız.