ADO.NET nedir?

ADO.NET nedir?

ADONET, NET Framework içinde yer alan ve veritabanı işlemlerinin yapıldığı, veri okunup yazılabildiği ve veritabanı bağlantılarının kurulduğu bir arayüzdür Veri işleme sürecinde verilerin I/O işlemlerini yönetir ve nesne yönelimli modeller durumunda veri işlemlerini yönetir Platform bağımsız çalışabilir ve farklı veritabanı platformlarına yönelik destek sağlar Veri okuma ve yazma işlemleri için DataReader ve DataSet/DataAdapter nesneleri kullanılır Veri okuma işlemi genellikle SqlDataReader nesnesi kullanılarak gerçekleştirilir

ADO.NET nedir?

ADO.NET, .NET Framework'te bulunan bir veritabanı programlama arayüzüdür. Bu arayüz, veritabanı işlemlerinin yapıldığı, veri okunup yazılabildiği ve veritabanı bağlantıları kurulabilen bir ortam sunar. ADO.NET, veri işleme sürecinde yönetilmesi gereken verilerin I/O işlemlerini yönetir.

Bu arayüz, nesne yönelimli programlama modeller durumunda veri işlemlerini yönetir. Bu sayede veri işleme, hatasız ve yapılandırılmış bir şekilde gerçekleştirilmektedir. Ayrıca, ADO.NET platformu herhangi bir veritabanı sunucusu ile sorunsuz bir şekilde çalışır.

ADO.NET, .NET Framework'ün bir parçasıdır ve diğer .NET bileşenlerine kolayca entegre olur. Bu sayede .NET uygulamaları, veri işleme ihtiyaçlarını ADO.NET ile karşılayabilir. Ayrıca, bu arayüz, farklı veritabanı platformlarına (MS SQL, Oracle, MySQL vb.) yönelik destek sağlar ve aynı zamanda platformlar arası veri işleme yapmayı da mümkün kılar.


Veri Tabanı Bağlantısı Kurma

ADO.NET, Microsoft tarafından geliştirilen bir veritabanı bağlantı teknolojisidir. ADO.NET, .NET Framework içinde yer alır ve .NET uygulamalarının veri tabanlarıyla etkileşimini sağlar. Veri tabanı bağlantısı kurmak, ADO.NET'in temel işlevlerinden biridir.

ADO.NET ile veri tabanı bağlantısı kurmak için birden fazla yöntem vardır. SqlConnection sınıfı kullanarak bağlantı nesnesi oluşturmak, bağlantı karakter dizisiyle SqlConnection nesnesi oluşturmak ve ConnectionString özelliğiyle bağlantıyı yapmak gibi yöntemler bulunmaktadır.

Bir örnek vermek gerekirse;

SqlConnection sqlConnection = new SqlConnection();sqlConnection.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True";sqlConnection.Open();

Bu kod bloğu, SqlConnection sınıfından bir nesne oluşturur ve connectionString özelliği aracılığıyla veri tabanına bağlantı sağlar.

Veri tabanı bağlantısı kurarken, bağlantının ne zaman açılacağı, ne zaman kapatılacağı, bağlantı karakter dizisi, sunucu adı, kullanıcı adı, şifresi gibi birçok parametreye dikkat edilmelidir. Doğru bağlantı yöntemi seçmek, uygulamanın performansı açısından önemlidir.


Veri Okuma ve Yazma

Veri okuma ve yazma işlemleri, ADO.NET'in en önemli fonksiyonlarından biridir. Bu işlemler, veri tabanındaki bilgilerin okunmasını ve sonrasında değiştirilmesini sağlar. Veri okuma işlemi, bir veya birden fazla satırın seçilmesi ve okunması için kullanılırken, veri yazma işlemi ise, yeni verilerin eklenmesi, var olan verilerin güncellenmesi ve silinmesi için kullanılır.

Veri okuma işlemi genellikle "DataReader" nesnesi kullanılarak gerçekleştirilir. DataReader nesnesi, verileri tek seferde okuyabildiği için daha verimli bir yöntemdir. Örneğin; "SELECT" sorgusu kullanılarak bir veri tabanından veri okuyabilmek için, SqlDataReader nesnesi oluşturulması gerekir.

DataReader nesnesiyle kullanılabilecek birçok metot vardır. "Read" metodu, bir sonraki satırın okunmasını sağlar. "GetValues" metodu, veri satırının sütun değerlerini dizi şeklinde döndürür. "IsDBNull" metodu ise, bir sütunun null değer döndürüp döndürmediğini kontrol eder. Bunlar sadece kullanılabilecek birkaç metottur.

Veri yazma işlemi ise, genellikle "DataSet" ve "DataAdapter" nesneleri kullanılarak gerçekleştirilir. DataSet nesnesi, birden fazla tablodan denetim yapılabilmesine izin verir. DataAdapter nesnesi ise, verilerin eşleştirilmesini, ekleme, güncelleme ve silme işlemlerinin gerçekleştirilmesini sağlar.

DataSet nesnesiyle kullanılabilecek birçok metot vardır. "Add" metodu, yeni bir satır veya tablo ekler. "Remove" metodu, belirli bir satırı veya tabloyu kaldırır. "Column" metodu, yeni bir sütun ekler. Bunlar sadece kullanılabilecek birkaç metottur.

DataAdapter nesnesiyle de, veri yazma işlemleri gerçekleştirilebilir. "InsertCommand", "UpdateCommand" ve "DeleteCommand" gibi metotlar, verilerin eklenmesi, güncellenmesi ve silinmesi için kullanılır.

Veri okuma ve yazma işlemleri, ADO.NET'teki en önemli fonksiyonlar arasında yer almaktadır. Bu işlemler, veri tabanlarına erişmek ve verileri okumak, değiştirmek, silmek ve eklemek için kullanılabilir. İhtiyacınız olan tek şey, doğru yöntemleri kullanmak ve doğru nesneleri tanımlamaktır. ADO.NET ile, veri işleme işlemlerinizi kolayca gerçekleştirebilirsiniz.


Veri Okuma İşlemleri

Veri okuma işlemleri, veri tabanı işlemlerinde en önemli işlemlerden biridir. ADO.NET'in en kullanışlı nesnelerinden biri olan DataReader nesnesiyle veri okuma işlemleri oldukça kolay bir şekilde gerçekleştirilebilir.

DataReader nesnesini kullanarak veri okuma işlemleri yapmak oldukça basittir. İlk olarak, veritabanı bağlantısı kurulduktan sonra, SQL sorgusu yazılır ve SqlCommand nesnesi oluşturulur. Bu nesne, ExecuteReader() metodu çağrıldığında SqlDataReader nesnesini döndürür.

Bu nesne ile veritabanından okunacak veriler geri döndürülür. Okunan her satır için Read() metodu çağrılır ve GetXXX() metodlarıyla sütunlardaki değerler alınır. XXX, sütunun veri tipine göre değişir.

Ayrıca, SqlDataReader nesnesinin birçok metodu da bulunmaktadır. Bu metodlardan bazıları şunlardır:

  • Read : Veriler okunana kadar döngüyü sürdürür
  • GetValues : Satırın tüm sütun değerlerini bir dizi olarak döndürür
  • GetOrdinal : Belirtilen sütunun indeks numarasını döndürür
  • IsDBNull : Belirtilen sütunda null değeri var mı yok mu kontrol eder
  • GetDataTypeName : Belirtilen sütunun veri tipinin adını döndürür

Örneğin, aşağıdaki kod parçası kullanılarak DataReader nesnesi ile veri okuma işlemi yapılabilir:```csharpSqlCommand komut = new SqlCommand("SELECT id, ad, soyad FROM kullanici", baglanti);SqlDataReader okuyucu = komut.ExecuteReader();

while (okuyucu.Read()){ int id = (int)okuyucu["id"]; string ad = okuyucu.GetFieldValue(1); string soyad = okuyucu.GetString(2); Console.WriteLine("{0} - {1} {2}", id, ad, soyad);}```

DataReader nesnesi ile yapılabilecek diğer işlemler gibi veri yazma işlemleri de oldukça önemlidir ve ADO.NET'in temel yapısını oluşturmaktadır.


DataReader Metotları

Veri tabanından veri çekmek için, ADO.NET veritabanı bağlantısı için bir DataReader nesnesi kullanır. DataReader nesnesi, sorgudan dönen verileri okur ve tek yönlü bir veri parçası döndürür.

DataReader nesnesinin, veritabanından veri çekmek için kullanılan temel metotları aşağıda açıklanmıştır:

  • Read() : DataReader nesnesi, bir sıradaki verileri okumak için kullanılır. Bu metot, her sıra için true döndürür ve verileri okur. Sıra okunmazsa, false döndürür ve veri okuma işlemi sona erer.
  • GetValues() : Veri okuma işlemi sırasında, GetValues() metodu verileri türüne uygun bir dizi içinde döndürür. Bu metot, birden çok sütunu iyileştirmek için de kullanılabilir.
  • GetOrdinal() : GetOrdinal() metodu, sütun adlarının yerine sütunların dizin numaraları kullanarak bir sütunun değerini okuyabilir.
  • IsDBNull() : Veri okuma işlemi sırasında, NULL değeri taşıyan sütunların kontrolü için IsDBNull() metodu kullanılabilir. Bu metod, sütunun değerinin NULL olup olmadığını kontrol eder.
  • GetDataTypeName() : GetDataTypeName() metodu, sütunun veri tipini döndürür. Bu metod, sütunun veri tipi hakkında bilgi edinmek için kullanılabilir.

Bu metotlar, DataReader nesnesinin verileri işlemek için etkili bir yoludur. Bu nesne, hızlı bir veri okuma için çıktı verir.


DataTable Metotları

DataTable, ADO.NET kütüphanesi içinde bir veri yapısıdır. Bu veri yapısı, bellek içindeki verileri saklar ve bunlara erişim sağlar. DataTable nesnesi, en çok kullanılan veri tabanı objelerinden biridir. DataTable nesnesi, veri tabanından veri çekmek, yeni veri ekleme veya mevcut verileri güncelleme işlemleri için sıkça kullanılır. DataTable, Fill, Update, Select, NewRow ve Delete metotları kullanılarak veri tabanındaki işlemlere bağlı olarak değiştirilebilir.

- Fill Metodu: Fill metodu, veri tabanındaki verileri bir DataTable nesnesine doldurmak için kullanılır. Örneğin, veri tabanındaki bir öğrenci tablosundan veri çekmek istediğinizde Fill metodunu kullanabilirsiniz.

- Update Metodu: Update metodu, değiştirilen verileri veri tabanına yansıtmak için kullanılır. Bir DataTable nesnesini güncellemek için Update metodu kullanılır.

- Select Metodu: Select metodu, belirli sorgular için veri tabanından veri seçmek için kullanılır. Bir DataTable nesnesini seçmek için kullanılır.

- NewRow Metodu: NewRow metodu, yeni bir satır eklemek için kullanılır. Bu metodun kullanımı, bir DataTable nesnesine yeni bir satır eklemek için önce NewRow metoduyla yeni bir "DataRow" nesnesi oluşturulur. Daha sonra bu yeni satır eklenebilir.

- Delete Metodu: Delete metodu, belirli bir satırı veri tabanından silmek için kullanılır. Bir DataTable nesnesinden bir satırı silmek için kullanılır.

Yukarıda bahsedilen metotlar, DataTable işlevselliğini en iyi şekilde kullanmak için gereklidir. Her bir metot, veri tabanı üzerinde farklı amaçlar için kullanılabilir ve veri tabanı işlemlerini yapmak için seçilen bu metodlarda dikkatli olunmalıdır.


Veri Yazma İşlemleri

Veri yazma işlemleri, ADO.NET'in en önemli fonksiyonlarından biridir. Bu işlem, veri kaynağına (data source) yeni veriler ekleme, mevcut verileri değiştirme veya silme işlemlerini kapsar. Bu işlemlerden bazıları DataSet ve DataAdapter nesneleri kullanılarak gerçekleştirilir.

DataSet nesnesi, bir veri kaynağına bağlanarak veri tabanındaki verileri depolayabileceğimiz bir nesnedir. Bu nesne, kendi içinde tabloları (DataTable) ve ilişkisel verileri tutabilmektedir. DataAdapter nesnesi ise DataSet içerisindeki tablolara veri okuma ve yazma işlemlerini gerçekleştirebilmektedir.

Veri yazma işlemleri yapabilmek için öncelikle bir DataAdapter nesnesi oluşturulmalı ve kullanılacak komutlar (Insert, Update, Delete) belirtilmelidir. Ardından, bu nesne yoluyla veri tabanına bağlanılarak işlemler gerçekleştirilir.

DataSet nesnesi içinde yer alan metotlar, veri kaynağındaki tablolara ekleme, silme ve güncelleme işlemlerine imkan vermektedir. Örneğin, Add, Remove, Column, Row, Merge gibi metotların kullanım örnekleri için aşağıdaki tabloyu inceleyebilirsiniz:

Metot Adı Açıklama
Add Yeni bir satır ekler
Remove Belirtilen satırı kaldırır
Column Yeni bir sütun ekler
Row Yeni bir satır ekler
Merge Veriyi birleştirir

DataAdapter nesnesi ise veri tabanındaki verileri değiştirebilmemiz için InsertCommand, UpdateCommand ve DeleteCommand gibi metotları içermektedir. Bu metotlar kullanılarak verilerin ekleme, güncelleme ve silme işlemleri gerçekleştirilir.

Veri yazma işlemleri yaparken, veri tabanına yazma işlemi gerçekleştirilmeden önce değişiklikleri GeçerliKayitlar (CurrentRecords) özelliği üzerinden kontrol etmek ve onaylamak gerekmektedir. Ayrıca, veri yazma işlemleri sırasında hata yönetimi de dikkate alınmalıdır. Bu işlemleri kolaylaştırmak için Try-Catch yapısı kullanılabilir.

Tüm bu adımlar tamamlandıktan sonra veri kaynağındaki veriler hedeflenen şekilde eklenebilir, güncellenebilir veya silinebilir. Böylece, DataSet ve DataAdapter nesneleri kullanılarak veri yazma işlemleri başarılı bir şekilde gerçekleştirilebilir.


DataSet Metotları

DataSet, verileri önbellekte saklamak için kullanılır. Verileri tablolara benzer bir şekilde sıralar ve düzenler. Bu verileri eklemek, kaldırmak veya güncellemek istediğinizde, DataSet sınıfı size birçok farklı yöntem sunar. Dataset sınıfının en yaygın kullanılan metotları şunlardır:

  • Add: Yeni bir satır ekler.
  • Remove: Belirlenen satırı veya sutunu kaldırır.
  • Column: Yeni bir sütun ekler.
  • Row: Yeni bir satır ekler.
  • Merge: İki veri kümesini birleştirir.

Örneğin, bir uygulamada öğrencilerin kaydını tutmak istediğinizi varsayalım. Tablo öğrencilerin adları, sınıfları, kimlik numaraları vb. Bilgileri içermelidir. Bu tabloyu oluşturmak ve sınıfa öğrenci eklemek için Dataset sınıfını kullanabilirsiniz. Öğrenci eklemek için Add metodu kullanılabilir. Aşağıda bir örnek verilmiştir:

DataSet ds = new DataSet();
DataTable dt = new DataTable("Ogrenciler");
dt.Columns.Add("ID", typeof(int));
dt.Columns.Add("AdSoyad", typeof(string));
dt.Columns.Add("Sinif", typeof(int));
ds.Tables.Add(dt);
DataRow dr = dt.NewRow();
dr["ID"] = 1;
dr["AdSoyad"] = "Ali Can";
dr["Sinif"] = 9;
dt.Rows.Add(dr);

Bu örnek, DataSet sınıfı kullanılarak bir tablo oluşturur, sütunlar ekler ve bir satır ekler. Veriler daha sonra bir veri tabanına yazılabilir.


DataAdapter Metotları

DataAdapter, ADO.NET Framework içerisinde önemli bir yere sahiptir ve birçok ekstra özelliği ile veri işleme işlemleri daha da kolaylaştırmaktadır. InsertCommand, UpdateCommand, ve DeleteCommand gibi metotlar, veritabanında veri değişikliklerini gerçekleştirmek için kullanılırlar.

InsertCommand, veritabanında yeni bir kayıt eklemek için kullanılır. Örneğin, bir kullanıcının yeni kayıt olması durumunda, kullanıcının adı, soyadı, e-posta adresi gibi verilerin kayıt edilmesi gerekmektedir. Bu verileri InsertCommand metodu sayesinde kolayca ekleyebilirsiniz.

UpdateCommand, veritabanındaki mevcut bir kaydı güncellemek için kullanılır. Örneğin, bir kullanıcının parolasının değiştirilmesi gerektiğinde, UpdateCommand metodu kullanılabilir. Bu metot ile kullanıcının eski parolası değiştirilerek, yeni parola kaydedilebilir.

DeleteCommand, veritabanındaki bir kaydı silmek için kullanılır. Örneğin, bir kullanıcının hesabını silmek gerekirse, DeleteCommand metodu kullanılabilir. Bu sayede, istenmeyen kayıtlar veritabanından kolayca silinebilir.

DataAdapter metotları kullanımında, ilgili parametrelerin ve değerlerin doğru belirtilmesi son derece önemlidir. Ayrıca işlem sonrasında mutlaka işlemin durumu hakkında geri bildirim alınmalıdır. Bu sayede, olası hatalar en kısa sürede tespit edilerek, çözüme kavuşturulabilir.