Bu site emekli olmuştur. Arşiv amaçlı olarak
BT AKADEMİ
sponsorluğunda yayın hayatına devam etmektedir.
Ana Sayfa
.net TV
Makaleler
Kaynak Kod
Haberler
Serbest Köşe
Canlı Köşe
Forum
C#nedir?
Ekibimiz
RSS
ADO.NET/SQL
C / Sys Prog.
Genel
Mono ve .NET
Silverlight
XML / Web Serv.
X86 Assembly
C++ / C++.NET
J#.NET / Java
.NET 3.x
UML / Analiz
Yazılım Müh.
ASP.NET
C# / VC#/.NET
Mobil Prog.
PHP 5
YAZAR HAKKINDA
Sefer Algan
http://www.seferalgan.com
İletişme geçmek için
tıklayın
.
71
Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için
tıklayın
.
Yayınlanan diğer makaleleri için
tıklayın
.
İlgili etiketler:
ADO.NET/SQL
Sefer Algan
YAZI HAKKINDA
Türü
:
Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi
:
Başlangıç
Kategori
:
ADO.NET/SQL
Yayınlanma Tarihi
:
21.11.2002
Okunma Sayısı
:
47849
Yorum Sayısı
:
2
yorum yaz
SİTE İÇİ ARAMA
Üye
GİRİŞİ
Üye girişi için
tıklayın
.
Kullanıcı Adı
Şifre
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
Şifremi / Kullanıcı Adımı unuttum.
C#nedir? hesabınız yok mu?
Üye olabilmek için
tıklayın
.
Serbest KÖŞE
(?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır.
Bu yazılar editör incelemesine girmeden yayınlanır.
Silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
silindi
emre TAŞ
yazının devamı >
Bende Yazmak İstiyorum
Blogroll
Burak Selim Şenyurt
Bellek Yönetiminde Verimlilik için İpuçları (Rust Odaklı)
3.5.2025
Burak Selim Şenyurt
Rust ve Güvenli Bellek Yönetimi Hakkında
3.5.2025
Diğer Herşey
»
Makaleler RSS
»
Video Gönder
»
Makale Gönder
»
Serbest Köşeye Yazı Gönder
»
Yazar Başvurusu
»
C#nedir? Ekibinde Olmalıyım!
Sponsorlar
Ana Sayfa
/
Makaleler
/
ADO.NET/SQL
/
ADO.NET temelleri ve yenilikler
ADO.NET temelleri ve yenilikler
Favorilerime Ekle
Gönderiliyor lütfen bekleyin...
arkadaşıma gönder
Arkadaşınızın email adresi:
*
Mesajınız:
Bu makalemizde dotNET platformunun en önemli yeniliklerinde olan veriye ulaşım tekniklerinden bahsedeceğiz. Bildiğiniz gibi Microsoft firmasının veritabanı erişim sınıflarının genel adı ADO idi. ActiveX teknolojisi ile geliştirilmiş olan ADO sınıflar topluluğu local yada uzaktaki makinalarda bulunan verleri erişmemizi sağlıyordu. ADO.NET ile değişmeyen tek felsefe veriye erişim dersek doğru söylemiş oluruz, zira ADO.NET 'in klasik ADO'dan çok büyük farklılıkları vardır. Bu farkılılıklardan yeri geldikçe bahsedeceğiz. Makalenin ilerleyen bölümlerinde ADO.NET'in en büyük yeniliklerinden olan offline çalışma ve programlama yoluyla tablolar arasında ilişki kurmanın ne demek olduğunu göreceğiz.
ADO.NET i , eski ADO'nun bir üst versiyonu gibi görmemek gerekir. Her nekadar eski ADO ile "connection" ve "command" gibi eş kavramlara sahipsede eski ADO da olmayan "data set" gibi bir çok yeni kavram vardır. Kısaca ADO.NET, .NET paltformu için geliştirilmiş, offline çalışma sistemini destekleyen, web uygulamaları gibi n-katmanlı uygulamarda büyük kolaylık sağlayan yeni bir veri erişim teknolojisidir, diyebiliriz. Eski ADO nun çalışma mantığı olan sunucu/istemci kavramı ADO.NET te yerini, offline çalışmayı sağlayan DataSet kavramına bırakmıştır. ADO.NET' in diğer en önemli özelliği ise doğrudan XML desteği vermesidir. İçsel bir mekanizma ile veriler XML formatına dönüştürülür. Bu içsel mekanizma HTTP protolu ile sağlandığı için herhangi bir firewall kısıtlamasından bahsedemeyiz.
ADO ile ADO.NET arasındaki temel farkları bir tablo halinde inceleyelim
ADO
ADO.NET
ADO nesne modeli 6 temel yapıdan oluşmaktadır.Bunlar:
-Connection Nesnesi
-Recordser Nesnedi
-Command Nesnesi
-Error Nesnesi
-Field Nesnesi
-Parametre Kolleksiyonu
ADO.NET modeli veriye erişim olarak iki ana metod kullanır.
Connected Access (Online Erişim)
Disconnected Access(Offline Erişim)
ADO, Recordset nesnesi ile offline çalışma modeline sınırlı bir imkan sağlar
ADO.NET iki yeni nesne modeli sunar.Bunlar DataSet ve DataAdapter nesneleridir. Bu yapıların ikiside offline çalışma için gereklidir. DataSet tasarım olarak her zaman offline çalışacak şekilde düzenlenmiştir.
ADO modelinde çok fazla bazen de hiç kullanılmayan yapılar uygulamanın performansını düşürür.
ADO.NET modelinde ise daha yüksek performans sağlar.
Doğrudan XML desteği verir. ADO.NET, XML ile entegre çalıştığı için bir tablodaki verileri XML formatına dönüştürmek çok basittir. Eski ADO da ise böyle bir durum söz konusu değildir.
ADO.NET 'i oluşturan bütün sınıflar bir DataSet oluşturmak ve bu DataSet üzerinde işlemler yapmak içindir.Peki nedir bu DataSet? DataSet, veritabında bulunan bir veya daha fazla tablonun içinde barındığı tablolar kolleksiyonudur. DataSet içinde bulunan tablolar asıl veri kaynağından tamamen bağımsız bir şekilde çalışır. Yani DataSet nesnesinin için birkere doldurduğunuzda veritabanı bağlantınızı kesseniz bile DataSet ile sanki bir veritabanına bağlıymışsınız gebi DataSet üzerinden tablolar arasında ilişki kurabilir, yeni bir veri ekleyebili, yeni sorgulamalar yapabilir, ve hatta kayıtlar silip işiniz bittiğinde tekrar veritabanına kaydedebilirsiniz. İşte DataSet nesnesinin bu çalışma prensibine disconnected(offline) çalışma denmektedir.İşin ilginç tarafı ağ da bulunan bir veritabanınındaki bütün tabloları DataSet içine alıp sanki kendi makinamızdaki veritabanı üzerinde çalışıyormuş gibi yapabiliriz. Bu da doğaldır ki büyük bir kaynak tasarrufu ve performans sağlamaktadır. Eski ADO da bulunan Recordset nesnesi hatırlarsanız sadece bir tablo üzerinde çalışabiliyordu. ADO.NET ile online çalışma ise DataReader dediğimiz nesne ile gerçekleştirilir.
ADO.NET veri erişimi olarak iki tip destek sağlar, birincisi SQL Server ile yüksek performasnlı erişim ikincisi ise OLEDB protokolunu destekleyen diğer veritabanlarına bağlanmak.Eğer veritabanı olarak SQL Server kullanıyorsak SQL Server için özel yazılmış sınıfları kullanarak daha yüksek performans elde ederiz. Bu sınıflar SQL Server ' in TDS (Tabular Data Strem) dediğimiz yapısı ile doğrudan ilişkili olduğu için tercih edilir.
ADO.NET Nesne Modeli
ADO.NET'in altyapısını oluşturan sınıflar System.Data isimalanının içinde bulunurlar. ADO.NET ' e ilişkin bütün sınıflar System.Data.dll isimli tek bir assembly de toplanmıştır.
System.Data
ADO.NET in en temel isimalanıdır. Veriyi sembolize eden veri türleri burda tanımlanmıştır. Mesela , tablo, sütun, satır , koşullar ve DataSet gibi veriyle doğrudan ilişkisi olan türler bu isim alanındadırlar. Veri kaynağına bağlanmak için gerkli veri türleri bu isimalanında değildir.
System.Data.Common
Bu isimalanı managed provider dediğimiz veri erişim kaynaklarını kullanan sistemlere yönelik sınıfları içerir.
System.Data.OleDb
Burdaki sınıfların yapısı eki ADO ya biraz yakınlığı ile bilinir.OLEDB protokolünü destekleyen veritabanı sistemlerine erişemk için kullanılan sınıflar bu isismalanı içindedir.
System.Data.SqlClient
OleDb servislerini kullanmadan Sql Server sistemine doğrudan bağlanıp performansı artımak istiyorsak bu isimalanı altında bulunan ve MS SQL Server için özel olarak geliştirilmiş sınıfları kullanmalıyız.
System.Data.SqlTypes
Bu isismalanında bulunan veri tipleri, MS Sql Server içirisnde desteklenen doğal veri türlerini içeir. Tabiki bu veri tiplerinin CLR(common language run-time) daki karşılıklarını da kullanabiliriz, fakat sql veri tiplerini kullanamk SQL Server için optimum bir çözümdür.
Bu yazımızda ADO.NET hakkında kısa ve öz bir bilgi edindik. Bir sonraki yazımızda ise System.Data isimalanınnda bulunan veri tiplerini detaylı olarak inceleyeceğiz.
Makale:
ADO.NET temelleri ve yenilikler ADO.NET ve SQL Sefer Algan
Yazılan Yorumlar
Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için
tıklayın
.
Üye değilseniz
Üyel Ol
linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
Bu Konuda Son 10
Eklenen Son 10
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
Dizayn ve Kodlama
bt
akademi
. Tüm Hakları Saklıdır © Copyright 2002-2009 c#nedir?com
Makaleler
Serbest Köşe
Makale Gönder
.Net TV
Video Gönder
Canlı Köşe
Kaynak Kod
Forum
Haberler
Röportajlar
Anketler
C# Nedir?
İletişim
Site Haritası
RSS
Favorilere Ekle
Üyelik
Hesap Aktivasyon
Ekibimiz
Ekibe Katıl