Sagolasin haci. Hep denedin. Hep yenildin. Olsun yine dene, yine yenil ama daha iyi yenil!

http://www.recepselli.com/video.aspx burada videolar mevcut direk izleyebilirsin ;) 2 x pi x re x pi x pi x mi x 7

Elimize sağlık :P inş. zaman buldukca daha güzel makaleler yazmaya çalışcaz. 2 x pi x re x pi x pi x mi x 7

Güzel faydalı bişeye benziyoda kardeş gece 2de açtığım gidiyo gibi konu bide heryere recep selli -tbt yazmışsın )

teşekkürler recep çok yararlı bşr dküman Türk çocuğu ecdadını tanıdıkça daha büyük işler yapmak için kendinde kuvvet bulacaktır. M. K. Atatürk

: Güzel faydalı bişeye benziyoda kardeş gece 2de açtığım gidiyo gibi konu bide heryere recep selli -tbt yazmışsın ) Evvet hoca.. kendimizi yazdım çünkü baya bi emek verdik uğrastik dküman için güzel birşeyler çıkması için ortaya ve tbt için olsun sadece dedik o yüzden yle yazdım ama kodlar ı engelliyecek bi durum sergilemiyoru yazılar sanırım... Eyw ComputerWolf ssende sağolasın.. Kontakt : TR_ip@tahribat.com

3 Katmanlı Mimarı ve Faydaları Herkesemerhaba TR_ip & Recep Selli olarak bu makalemizde siz TBT üyelerine elimizden geldiğince üç katmanlı mimari yapısı nedir faydaları nelerdir bunları inceliyor olacağız. Üç katmanlı mimarı projelerimiz içerisinde kullandığımız veri tabanı bağlantısı, veri tabanı işlemleri ve kullanıcı ara yüzünü birbirinden ayıran bir yapıyı bizlere sunar. Bu yapıları Net de classlar içerisinde rahatlıkla hazırlayabilir ve diğer sayfalarda bu classlarımızı türeterek classımız içindeki public değişkenlere metotlara ve zelliklere ulaşabiliriz. Üç katmanlı mimarı yapısında benim dikkatimi çeken ilk şey amatrce hazırlığımız projeler havada uçuşan veri tabanı bağlantı ve işlem nesnelerinin nesneleri yerine classımız kullanarak bu işlemleri bir tek yerden merkez noktadan yapmamızı sağlaması oldu. Aynı zamanda bunun bize kazandırdığı zamanın yanı sıra ileride veritabanı değişikliğinde veya aldığımız herhangi bir hatada onlarca satır kod yerine belirli satırlar içinde geziniyor olmamız büyük avantaj. Diğer avantajlarından biri ise hazırladığımız bu classları ileride geliştireceğimiz projeler içerisinde ufak değişiklikler yaparak kullanabilmemiz. Bir yazılım geliştirme şirketinde çalışıyor ve grup olarak proje hazırlıyorsanız anlaşılabilirlik ve geliştirilebilirlik açısından da son derece nemlidir. Şimdi dilerseniz kod kısmına bakalım birazda. ncelikle projemiz içerisinde bir class oluşturuyoruz. Ben bu classıma connection adını verdim. Classımız içerisine gerekli namespaceleri ekliyoruz. using System. Data. OleDb; // Access veri tabanı işlemleri için gerekli namespace. using System. Web. Configuration; // Web. config dosyası içerisinden connectionstring'imizi alabilmemiz için gerekli namespace. Daha sonra classımızın yapısı metotu üzerinde OleDbConnection nesnemizi tanımlıyoruz. OleDbConnection baglanti = newOleDbConnection ; Yapıcı metotumuz içerisinde web. config dosyamız içerisinde yer alan connectionstringimize ulaşalım şimdi. public connection Hemen altında bağlantımızı açmamıza yarayacak olan metodu yazıyoruz. publicvoid connectionopen { try catch } Aynı şekilde bağlantımızı kapamaya yarayacak olan metodu yazıyoruz. publicvoid connectionclose { try catch } OleDbDataReader dndüren bir metod yazıyorum. publicOleDbDataReader ExecReader Aynı Şekilde bana geriye OleDbDataAdapter, OleDbCommand ve dndüren iki metot daha yazıyorum. Sırası ile publicOleDbDataAdapter ExecAdapter // OleDbDataAdapter dndüren metodum. publicOleDbCommand ExecCommand OleDbCommanddndüren metodum Ş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 = newconnection ; // Veri tabanı ile bağlantı sağlayan classımızı türettik. Şimdide bize DataTable dndüren bir metod lazım bylece veri tabanından gerekli sorguyu yaptıktan sonra DataTable ın içini doldurup istediğimiz yerde kullanabiliriz. publicDataTable Videolarim Burada dikkat ederseniz. OleDbDataAdapter ımızı türetmiyoruz sadece connection classımız içerisinde yazdığımız ExecAdapter adındaki metot'a ynlendiriyoruz. Bylece 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 dndürmeyen bir metot yazacam. publicvoid YorumKayit // 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 = newconnection ; VideoizleDB videolar = newVideoVideoizleDB ; ncelikle Videolarim adlı metot ile videoları Videoidlerine gre sayfamızda gsterelim. void Videolar // DataList ile verilerimizi bağlıyoruz ve sitemizde gsteriyoruz. Şimdide yapılan yorumları kaydettirelim. protectedvoid Button1_Click Butonumuza tıkladığında videolar adında VideoizleDB den türetilmiş olan nesnemiz devreye girecek ve akışı o yne doğru itecektir. VideoizleDB ise akış baglanti. connectionopen ; satırına geldiğinde ncelikle bağlantımızın durumuna bakılacak kapalı ise açılacak bu şekilde bağlantı durumunu kontrol etmemizin sebebi projemiz performans artışı içindir. Akış OleDbCommand komut = baglanti. ExecCommand satırına gelince burada tekrar connection classımız devreye girecek ve sorgu ile veritabanı bağlantısını sağlayıp kayıt işlemi için tekrar bizi VideoizleDB classına ynlendirecektir. Burada kayıt işlemi gerçekleştikten sonra bağlantının kapanması için tekrar connection classına geçiş yapacak bağlantımızı kapayıp Clik eventinin işi bitecektir. Bir sonraki makalemde tekrar grüşmek üzere... TR_ip & Recep SELLİ http://www.tahribat.com Kontakt : TR_ip@tahribat.com

: Ellerine sağlık hoca.. Eğer zaman bulabilirsen bunları videolu anlatım yapabilirsen zelliklede veri tabanı bağlantılı form ilişkileri üzere.. Senden ei si yok valla :) Veri tabanı muhabbetini aştıktan sonra gerisi yapılır bi şekilde bende ufaktan başlıycm inş. en basiti veritabanı bence asp. netde.. ben bi zorluk gremedim çok da basit hatta dküman bile yaptım.. nce kullanımı ile ilgili tüm data blümünün dkümanını yapacam ama biraz zamana ihtiyacım var :D bu arada hocam eline sağlık güzel olmuş..

Ellerine sağlık hoca.. Eğer zaman bulabilirsen bunları videolu anlatım yapabilirsen zelliklede veri tabanı bağlantılı form ilişkileri üzere.. Senden ei si yok valla :) Veri tabanı muhabbetini aştıktan sonra gerisi yapılır bi şekilde bende ufaktan başlıycm inş.