ASP den ASP.NET e geçemeyi
planlayanların veritabanı işlemlerinde kullanacağı yeni bir kutuphana
olan ADO.NET aslında bir çok kişi tarafından ADO nun devamı olarak
görülmektedir. İsmen böyle olabilir ancak, ADO.NET başlı başına .NET
Framework Class Libaryde bulunan eşsiz classlardan bir tanesidir.
ADO sayesinde uygulama geliştiriciler çok rahat bir şekilde
veritabanına bağlanıp yönetimi sağlayabiliyorlardı. Ancak ADO nun da
geri kaldığı yerler oluyordu. Özellikle veri paylaşımının çok önemli
olduğu günümüzde, ADO'nun sadece COM u destekleyen sistemlerde
çalışabiliyor olması bir çok kitlenin uygulama geliştirmelerinde
zorluk çıkarmıştır.
Oysa ADO.NET ile
yerleşik bir şekilde gelen XML desteği sayesinde hiç bir sistem
farketmeksizin veri paylaşımı çok rahatça sağlanabilmektedir.
ADO.NET in fark attığı
bir başka özellik olan bağlantılı-bağlantısız katmanlar ise bence en
büyük yapısal değişikliktir. Birazdan daha detaylı bir şekilde
değinecek olduğumuz bağlantılı-bağlantısız katmanlar sayesinde
veritabanına bağlı kalmadan, veritabanından çekilen veriler üzerinde
değişiklik yapabiliyorsunuz. Kayıtları silibiliyor veya yeni kayıt
ekleyebiliyorsunuz. Dediğim gibi bu işlemleri veritabanı ile hiç bir
bağlantı kurmadan yapıyor olmak kesinlikle performans arttırıcı bir
durumdur. Özellikle web uygulamalarında bağlantısız katman sayesinde
artık ziyaretçilerimize daha hızlı bir site sunabileceğiz.
Bilmeyenlerinizin
olabileceğini de düşünerek son bir hatırlatma yapmak istiyorum; ADO
ile kullandığımız recordset ler artık yok. Recordet lere hakimiyet
kurmak zordu, bunun için çok iyi duzenlenmiş SQL cümlecikleri ve
koşullar kullanıyorduk. Ancak ADO.NET de işler daha organize
ilerlemektedir. ADO.NET te kullanacağımız bir nesne olan DataSet
sayesinde verileri çok daha kolay bir şekilde yönetebileceğiz.
Öncelikle
Bağlantılı-Bağlantısız Katmanların ne olduğunu inceleyelim.
Bağlantılı-Bağlantısız Katman ?
ADO ile, en basitinden
veritabanından aldığımız bilgileri listelemk istediğimizde,
bağlantıyı açıp listeleme yapmak için bir döngü kurar ve döngü
sonunda bağlantıyı kapatırdık. Tahmin edebileceğiniz gibi bu döngü
sırasında veritabanı ile olan bağlantımız sürekli açık durumdadır.
Peki, listelenmesi
gereken bilgileri veritabanından aldıktan hemen sonra bağlantıyı
kapatsak ve daha sonra istediğimiz gibi listeleme işlemlerini
tamamlasak, Sizce Nasıl Olur?
İşte ADO.NET bize bu tarz bir avantaj sağlamaktadır. Bağlantılı
katman dediğimiz bölümde veritabanına bağlanıp verileri alır ve hemen
ardından bağlantıyı kapatır. İşte bundan sonra yapacağımız işlemler
ise bağlantısız katman adı altında gerçekleşir.
Bağlantılı katmanda
veritabanından alınan veriler DataSet, DataTable, DataRow gibi
oluşturulacak nesnelere atanır. Bu atama yapıldıktan sonra
istediğimiz işlemi gerçekleştirebiliriz.
İstersek DataSet den
bir Kayıt Silebilir veya yeni bir kayıt ekleyebiliriz. Dikkatinizi
tekrar çekmek istiyorum; bu kayıt ekleme silme işlemi sırasında hala
bağlantısız çalışmaktayız. Oysa ADO olsaydı neler neler
yapacaktık....
Makalemizin başlarında
belirtmiş olduğum ADO.NET bize verilerimize mükemmel bir şekilde
hükmetmemizi sağlaması özelliğini bu bağlantısız katmanda istediğimiz
gibi kullanabiliriz. |