VS:NET ile tasarladığımız bir arayüz katmanında mevcut verilerin kullanıcılar tarafından görüntülenmesi yada güncellenmesi işlemlerinin veri kaynağına (database) iletilmesi farklı yöntemlerle sağlanabilir.Hazırlanan veri kaynağına bağlantımızı ne şekilde yapacağımız uygulamanın selameti için hayli önemli, konu hakkında sıkça okuduğum konunun ehli kitaplarda iki şeklinden bahsedilmişti.Kısaca bunlardan bahsetmek gerekirse birinci yöntem Direk Veritabına Erişim diğeri ise İş Nesneleri oluşturmak .Genel mantıkta bakarsak çok katmanlı bir proje içinde veritabanına bağlantının İş nesneleri üzerinden arayüz katmanına iletmesi daha doğru fakat diğeride yanlış değil elbette ve küçük projelerde neden olmasın.Önemli olan en iyi mimari üzerinden gitmekse iş zekası denilen şu olayın en iyisi için İş Nesneleri oluştumalıyız.Hadi şimdi size veritabanı bağlantılalrı ile ilgili detaylı bir blog yazayım...
.Net veri bağlantısı mimarisi aynı olsada Asp.Net ve Windows uygulamaları birbirinden farklıdırlar.Bunun nedeni veri erişimini web tabanlı bir uygulama http:// istekleri ile çalışması yani request response ile yapması, windows uygulamaları ise çalıştığı bilgisayarın hafızasına yüklenmesi şeklinde olması.Her iki tipteki uygulamada birbirine benzeyen veri kaynağı kontrolleri kullanmaktadır (Data Source Control) .Ben size bu yazıda Asp.Net Web Uygulamalarından bahsedeceğim.Veri kaynağı kontrollerinin asıl amacı arayüz katmanı ile veritabanı arasından bir katman oluşturmak ve oluşturulan bu katman ilede farklı katman kontrollerini kullanabilmek, yönetilebilmektir.Bir sonraki bir kaç satıra dikkat ediniz.Veri kaynağı kontrolleri System.Web.UI.DataSourceControl sınıfını miras alır.Ayrıca miras alınan sınıf System.Web.UI.Control sınıfı tüm Asp.Net sunucu kontrolleri için ata sınıftır.Gelelim sözünü ettiğim DataSourceControl ve DataSourceView sınıflarının Asp.Net web uygulamalarında kullanacağımız araçlarına
VS.NET içerisindeki web uygulamalarında kullanabileceğimiz veri kaynağı kontrolleri(DataSourceControl) araç kutunusuna Data sekmesinden ulaşabiliriz.Araçları gördükten sonra şimdide yazımın başında söylediğim küçük veya çok katmanlı bir .net projesinde iki veritabanı bağlanma yöntemini hatırlayın.
Direk Veritabanına erişim - İş Nesneleri
Bu anlatım 1.yöntem olan Direk Veritabanına Erişim yöntemidir, ve küçük çaplı bir web uygulması için geçerli olabilir.
Yanda VS.NET araçlarını gördüğümüz ve istediğimiz bir veritabanına bağlantı oluşturmaya başlamak ve bir veritablosu içine verilermizi almak şu an için bize bir kaç tık kadar yakın fakat biraz daha detay lazım.örneğin kontrollerden biri olan AccessDataSource kontrolü yani Sytem.Web.UI.WebControls.
AccessDataSource sınıfı bir önceki yazımda bahsettiğim ADO.NET sağlayıcısını kullanarak veriye erişim sağlayan bir veri kaynağı kontrolüdür.O yazımda eğer okuduysanız size Veri kümelerinden,Table adaptörlerinin giriş bilgisini vermiştim.
Evet artık bu kadar yazı yeter birde örnek yaparak direk bir kaç veri işlemi yapmanın zamanı geldi.Bu yazı için hazırladığım Access veritabanımı küçük örnek web uygulamamın içindeki App_Data klasörüme almıştım ve birde web sayfası oluşturdum.Bu sayfa henüz boş birazdan resimlerle veritabanımda bulunan verileri bir Gridview içinde izleyemek sayfalamak için gerekli işlemleri yapacağım.Aşamaları takip ederseniz birlikte sonucu görebiliriz.
1-Web sayfamın üzerine sürekle bırak yöntemi ile bir GridView veri tablo ekledim.Direk Access veribanımıda sürükleyip yapabilirdim fakat ben önce arayüz kontrolümü ekledim.Yukarıdaki resimde gördüğünüz gibi boş olan GridView ve son tarafta ise veri tablonun görev penceresi var.
2- Choose Data Source ve NewDataSource komutu ile veritabanımın türünü seçmemiz istenir.Bu görünüm Sql içinde aynı şekilde yapılmaktadır.Veri kaynağımın ismini değiştirilmesini öneriyorum.Bu aşamadan sonra Eğer AccesDataSource seçmişsek karşımıza veritabanının yerini soran bir pencere açılır ve "mdb" uzantılı veritabını göstermemiz istenir.İşte bir ayrıntı daha eğer 2003 ve daha eski bir Access kullanıyorsak AccessDataSource seçimi doğrudur.Fakat 2007 sürümü için Database seçimini seçmemiz gerekecek.Database seçeneği ve veritabanımın App_Data içerisindeki yerinide gösterdiğimde bu kez SqlDataSource1 adı ile bağlantım gerçekleştirecektir.Bu ayrıntıyı kaçırmayınız.Bunun nedenini birazdan açıklayacağım.Bir sonraki ekran görüntüsü ise aşağıdadır.
3-Bu ekran görüntüsünden anlaşıldığı gibi Connection String dizisi otomatik olarak oluşturulmuş oldu.Bu görünümde New Connection seçeneği ile diğer veri sağlayıcıları ile yeni bağlantılar oluşturulabilmekteve test edilebilmektedir.Sql Oracle ODBC veya Access içinde bu yöntem değişmez.Bağlantı dizelerinin onaylanması ve tamamlanmasından sonra web.config dosyamızdaki değişiklikte hemen yapılacaktır.Seçimimden sonra artık veri kaynağımın içindeki tablo ve alan adlarını görebiliyor olmalıyız.
4- Seçimizi bekleyen Veri kaynağımız içindeki tablo ve alanlar soldaki resim gibidir ve şimdi bizden istenen "statement" yani mantıksal ifadeler sorulmaktadır.Sql komutlarımızı bu alanda rahatça kullanabiliriz Verileri süzebilir guruplayabilir seçebiliriz.İlk Direk veri erişim yazımızda bu konudaki detayı ilerdeki yazılara bırakıyorum.Şimdi ise Her hangi bir tablo ve * işareti çek ediyorum bu ifade SELECT * FROM sql komutu ile birebir aynıdır.
5-Yukarıdaki bir kaç aşamadan sonra geldiğim şuanki nokta GridView içerisinde SampleText tablosunun içerisindeki veriler web sayfamdan izlenilebilir.Fakat şimdilik sadece izlenilebilir yani silme,düzenleme güncelleme işlemi yapılamaz.Daha fazla detay yazmak için bunuda bir sonraki bloglara bırakıyorum müsade ederseniz.Şimdilik verilerimi Kontrol içerisinden Sayfalayabilir (Paging) Kısaltabilir(Sorting) ve Seçebilir(Selection) durumdayım.Ayrıca GridView Auto Formatlarından birini seçebilir ve görünümü istediğim bir yapıda kullanıcılara sunabilirim.Yazıda anlatmak istediğim genel konu Direk Veri Erişimi bilgisi olduğundan bu blogu yeniden ziyaret etmenizi öneririm.Daha önce Access Veritabanına görsel tasarım yapmadan Visual Basic.Net ile kod yazdığımız ve veri girdiğimiz blog yazısı ile bu yazıyı tekrar okuduğunuzda kafanızda Asp.Net Web uygulamalarında veritabanı işlemleri hakkında iyi bir bilgiyi edinmiş olacaksınız.Üstelik tüm bilgiler bedava ... Bu arada bakalım veri kaynağımız çalışıyormu ?
Veri kaynağı kullanımları konularında veri güncelleme, silme ve düzenleme işlemlerinin detaylı anlatımlarını arayüz kontrollerinin veri kaynaklarına atanmasını ve genel Sql bilgilerini bu blogtan takip edebilirsiniz..
.Net veri bağlantısı mimarisi aynı olsada Asp.Net ve Windows uygulamaları birbirinden farklıdırlar.Bunun nedeni veri erişimini web tabanlı bir uygulama http:// istekleri ile çalışması yani request response ile yapması, windows uygulamaları ise çalıştığı bilgisayarın hafızasına yüklenmesi şeklinde olması.Her iki tipteki uygulamada birbirine benzeyen veri kaynağı kontrolleri kullanmaktadır (Data Source Control) .Ben size bu yazıda Asp.Net Web Uygulamalarından bahsedeceğim.Veri kaynağı kontrollerinin asıl amacı arayüz katmanı ile veritabanı arasından bir katman oluşturmak ve oluşturulan bu katman ilede farklı katman kontrollerini kullanabilmek, yönetilebilmektir.Bir sonraki bir kaç satıra dikkat ediniz.Veri kaynağı kontrolleri System.Web.UI.DataSourceControl sınıfını miras alır.Ayrıca miras alınan sınıf System.Web.UI.Control sınıfı tüm Asp.Net sunucu kontrolleri için ata sınıftır.Gelelim sözünü ettiğim DataSourceControl ve DataSourceView sınıflarının Asp.Net web uygulamalarında kullanacağımız araçlarına
VS.NET içerisindeki web uygulamalarında kullanabileceğimiz veri kaynağı kontrolleri(DataSourceControl) araç kutunusuna Data sekmesinden ulaşabiliriz.Araçları gördükten sonra şimdide yazımın başında söylediğim küçük veya çok katmanlı bir .net projesinde iki veritabanı bağlanma yöntemini hatırlayın.
Direk Veritabanına erişim - İş Nesneleri
Bu anlatım 1.yöntem olan Direk Veritabanına Erişim yöntemidir, ve küçük çaplı bir web uygulması için geçerli olabilir.
Yanda VS.NET araçlarını gördüğümüz ve istediğimiz bir veritabanına bağlantı oluşturmaya başlamak ve bir veritablosu içine verilermizi almak şu an için bize bir kaç tık kadar yakın fakat biraz daha detay lazım.örneğin kontrollerden biri olan AccessDataSource kontrolü yani Sytem.Web.UI.WebControls.
AccessDataSource sınıfı bir önceki yazımda bahsettiğim ADO.NET sağlayıcısını kullanarak veriye erişim sağlayan bir veri kaynağı kontrolüdür.O yazımda eğer okuduysanız size Veri kümelerinden,Table adaptörlerinin giriş bilgisini vermiştim.
Evet artık bu kadar yazı yeter birde örnek yaparak direk bir kaç veri işlemi yapmanın zamanı geldi.Bu yazı için hazırladığım Access veritabanımı küçük örnek web uygulamamın içindeki App_Data klasörüme almıştım ve birde web sayfası oluşturdum.Bu sayfa henüz boş birazdan resimlerle veritabanımda bulunan verileri bir Gridview içinde izleyemek sayfalamak için gerekli işlemleri yapacağım.Aşamaları takip ederseniz birlikte sonucu görebiliriz.
1-Web sayfamın üzerine sürekle bırak yöntemi ile bir GridView veri tablo ekledim.Direk Access veribanımıda sürükleyip yapabilirdim fakat ben önce arayüz kontrolümü ekledim.Yukarıdaki resimde gördüğünüz gibi boş olan GridView ve son tarafta ise veri tablonun görev penceresi var.
2- Choose Data Source ve NewDataSource komutu ile veritabanımın türünü seçmemiz istenir.Bu görünüm Sql içinde aynı şekilde yapılmaktadır.Veri kaynağımın ismini değiştirilmesini öneriyorum.Bu aşamadan sonra Eğer AccesDataSource seçmişsek karşımıza veritabanının yerini soran bir pencere açılır ve "mdb" uzantılı veritabını göstermemiz istenir.İşte bir ayrıntı daha eğer 2003 ve daha eski bir Access kullanıyorsak AccessDataSource seçimi doğrudur.Fakat 2007 sürümü için Database seçimini seçmemiz gerekecek.Database seçeneği ve veritabanımın App_Data içerisindeki yerinide gösterdiğimde bu kez SqlDataSource1 adı ile bağlantım gerçekleştirecektir.Bu ayrıntıyı kaçırmayınız.Bunun nedenini birazdan açıklayacağım.Bir sonraki ekran görüntüsü ise aşağıdadır.
3-Bu ekran görüntüsünden anlaşıldığı gibi Connection String dizisi otomatik olarak oluşturulmuş oldu.Bu görünümde New Connection seçeneği ile diğer veri sağlayıcıları ile yeni bağlantılar oluşturulabilmekteve test edilebilmektedir.Sql Oracle ODBC veya Access içinde bu yöntem değişmez.Bağlantı dizelerinin onaylanması ve tamamlanmasından sonra web.config dosyamızdaki değişiklikte hemen yapılacaktır.Seçimimden sonra artık veri kaynağımın içindeki tablo ve alan adlarını görebiliyor olmalıyız.
4- Seçimizi bekleyen Veri kaynağımız içindeki tablo ve alanlar soldaki resim gibidir ve şimdi bizden istenen "statement" yani mantıksal ifadeler sorulmaktadır.Sql komutlarımızı bu alanda rahatça kullanabiliriz Verileri süzebilir guruplayabilir seçebiliriz.İlk Direk veri erişim yazımızda bu konudaki detayı ilerdeki yazılara bırakıyorum.Şimdi ise Her hangi bir tablo ve * işareti çek ediyorum bu ifade SELECT * FROM sql komutu ile birebir aynıdır.
5-Yukarıdaki bir kaç aşamadan sonra geldiğim şuanki nokta GridView içerisinde SampleText tablosunun içerisindeki veriler web sayfamdan izlenilebilir.Fakat şimdilik sadece izlenilebilir yani silme,düzenleme güncelleme işlemi yapılamaz.Daha fazla detay yazmak için bunuda bir sonraki bloglara bırakıyorum müsade ederseniz.Şimdilik verilerimi Kontrol içerisinden Sayfalayabilir (Paging) Kısaltabilir(Sorting) ve Seçebilir(Selection) durumdayım.Ayrıca GridView Auto Formatlarından birini seçebilir ve görünümü istediğim bir yapıda kullanıcılara sunabilirim.Yazıda anlatmak istediğim genel konu Direk Veri Erişimi bilgisi olduğundan bu blogu yeniden ziyaret etmenizi öneririm.Daha önce Access Veritabanına görsel tasarım yapmadan Visual Basic.Net ile kod yazdığımız ve veri girdiğimiz blog yazısı ile bu yazıyı tekrar okuduğunuzda kafanızda Asp.Net Web uygulamalarında veritabanı işlemleri hakkında iyi bir bilgiyi edinmiş olacaksınız.Üstelik tüm bilgiler bedava ... Bu arada bakalım veri kaynağımız çalışıyormu ?
Veri kaynağı kullanımları konularında veri güncelleme, silme ve düzenleme işlemlerinin detaylı anlatımlarını arayüz kontrollerinin veri kaynaklarına atanmasını ve genel Sql bilgilerini bu blogtan takip edebilirsiniz..
Bu Yazının Sponsorları
Yorumlar
Yorum Gönder