Sınıf adı Sql Server Oracle Access

advertisement
Görsel Programlama II
Ado.Net İle Veritabanı İşlemleri
Öğr.Gör. Yılmaz EROĞLU
Konular
ADO.NET
 ADO.NET Veri Erişim Modelleri

◦ Bağlantılı (Connected) model
◦ Bağlantısız (Disconnected) model

ADO.NET Sınıfları
ADO.NET





ActiveX Data Objects (ActiveX Veri Nesneleri)
Microsoft’un veri erişim teknolojisidir
Tüm .NET dilleri (Visual Basic.NET, C# ve
diğerleri) için ortak bir teknolojidir
Visual Studio kurulumu ile Sql Server, Oracle ve
Access veritabanları erişim için gereken
eklentiler kurulu gelmektedir.
Diğer veritabanları için, ör: MySQL, veritabanına
özel sürücü kurularak onlara da bağlantı
yapılabilir
ADO.NET veri erişim modelleri

Bağlantılı (Connected) model
◦
◦
◦
◦

Tek yönlü okuma veya yazma işlemi
Veriler güncel
Veritabanı bağlantısı sürekli açık
Ağ trafiği yoğun
Bağlantısız (Disconnected) model
◦
◦
◦
◦
Çift yönlü okuma ve yazma
Veriler yerel olarak kaydedilir ve güncel değildir
Veritabanı bağlantısı sürekli açık değildir
Ağ trafiği nisbeten azdır
ADO.NET veri erişim modelleri
ADO.NET sınıfları


Kullanılacak veritabanı türüne göre XXX yerine Sql,
OleDb, Oracle veya Odbc ön ekleri kullanılmaktadır.
Örneğin Access için bağlantı nesnesi OleDbConnection
olmaktadır.
Veritabanı türü
Bağlantı nesnesi
Sql Server 2000, 2005 veya
2008
SqlConnection
Oracle
OracleConnection
Odbc veri kaynağı
OdbcConnection
Access
OleDbConnection
ADO.NET Sınıfları

Diğer bazı sınıflar
Sınıf adı
Sql Server
Oracle
Access
XxxConnection
SqlConnection
OracleConnection
OleDbConnection
XxxCommand
SqlCommand
OracleCommand
OleDbCommand
XxxDataAdapter
SqlDataAdapter
OracleDataAdapter
OleDbDataAdapter
XxxDataReader
SqlDataReader
OracleDataReader
OleDbDataReader
DataSet
DataSet
DataSet
DataSet
ADO.NET sınıfları
Bu sınıfları kullanmak için kodumuza belli
kütüphaneleri using ifadesi ile eklememiz
gerekmektedir.
 Örneğin OleDbConnection,
OleDbCommand gibi Access’e özel
sınıfları kullanmak için kodumuza aşağıdaki
ifade eklenmelidir

◦ using System.Data.OleDb;
ADO.NET sınıfları

Diğer veritabanları için gerekli using
ifadeleri:
Veritabanı türü
using ifadesi
Sql Server 2000, 2005, 2008
System.Data.SqlClient
Oracle
System.Data.OracleClient
Odbc
System.Data.OdbcClient
Access
System.Data.OleDb
ADO.NET sınıfları

Bağlantılı veri erişiminde kullanılan sınıflar ve
kullanım amaçları
Sınıf
Amaç
OleDbConnection
Veritabanına bağlantı kurar, diğer
nesneler bu nesne üzerinden
sorgulama yaparlar
OleDbCommand
Veritabanı üzerinde sorgu (SELECT,
DELETE, INSERT v.b.)
çalıştırılmasını sağlar.
OleDbDataReader OleDbCommand ile çalıştırılan bir
SELECT sorgusunun sonucunu satır
satır okumaya yarar
ADO.NET sınıfları

Bağlantısız veri erişiminde kullanılan sınıflar ve kullanım
amaçları
Sınıf
Amaç
OleDbConnection
Bağlantılı kullanımla aynıdır, ortak bir
sınıftır.
OleDbCommand
Veritabanı üzerinde sorgu (SELECT,
DELETE, INSERT v.b.) çalıştırılmasını
sağlar.
OleDbDataAdapter
Veritabanından kayıtları çekmek, çekilen
kayıtlarda yapılan değişiklikleri de tekrar
veritabanına kaydetmek için kullanılır.
DataSet
Veritabanından çekilen kayıtların
depolanması ve yönetilmesi amacıyla
kullanılır.
Tüm veritabanı türleri için bu sınıf ortaktır.
ADO.NET sınıfları


Herhangi bir ADO.NET sınıfı kullanılırken önce new
operatörü ile oluşturulur.
◦ OleDbConnection con = new OleDbConnection();
Oluşturulan değişken üzerinden nesnenin
özellikleri değiştirilir veya metotları çağrılır
◦ con.ConnectionString = @” ……… “;
◦ con.Open( );
◦ con.Close( );
ADO.NET sınıfları


Örnek bir OleDbCommand kullanımı
◦ OleDbCommand komut = new OleDbCommand( );
◦ komut.Connection = con;
◦ komut.CommandText = “DELETE * FROM musteriler”;
◦ komut.ExecuteNonQuery( );
Bu kod parçası kurulan “con” bağlantısı üzerinden musteriler
tablosundaki kayıtları silmektedir.
ADO.NET sınıfları

OleDbCommand nesnesinde kullanılan
özellik ve metotların amaçları
Özellik/Metot
Amaç
komut.Connection
Sorgulamanın hangi bağlantı üzerinden
yapılacağını belirler
komut.CommandText
Hangi SQL sorgusunun çalışacağını belirler.
Buraya geçerli bir SQL sorgusu (SELECT,
DELETE, INSERT v.b.) yazılmalıdır.
komut.ExecuteNonQuery( )
Yazılan, geriye sonuç döndürmeyen sorguyu
çalıştırır. Yazılan sorgu SELECT dışında bir
sorgu olmalıdır.
komut.ExecuteScalar( )
SELECT sorgusu sonucu geriye dönen ilk
değeri almak için kullanılır
komut.ExecuteReader( )
SELECT sorgusu sonucu geriye dönen
satırları OleDbDataReader ile satır satır
okumak için kullanılır
Download