C# ve Veri tabanı İşlemleri
C# ve Veri Tabanı C# veri tabanı üzerinde işlemler gerçekleştirmek üzere DAO, ADO, RDO, ODBC gibi farklı teknolojilere sahiptir. Biz bu teknolojilerden en çok kullanılan ADO.NET i inceleyeceğiz.
ADO.NET nedir? Microsoft firması tarafından geliştirilen ve programcılara çok basit yapılar sunan mimaridir. Bu yapı sayesinde .Net framework kütüphaneleri kullanılarak veri tabanı ile ilgili işlemler kolay hale gelmektedir. ADO.Net yalnız SQL değil, Access ve Oracle gibi veritabanlarını da projemize eklememize olanak sağlar. ADO.Net ile ilgili işlemleri yapmadan önce projemize bazı isim alanları eklememiz gerekir.
İsim Alanları ADO.Net ile ilgili projelerimize ekleme yaparken bu isim alanının eklenmesi şarttır. Bu isim alanının içerisinde; SQL, Access ve Oracle gibi yapılar için ortak bileşenler bulunmaktadır. Veri tabanı projelerimize SQL haricinde veri tabanını dahil etmekiçin Ole Db nesnesi kullanılır. Yukarıda görüldüğü gibi isim uzayı olarak eklenir. Ole Db nesnesi için en bilinen veri tabanı MS Access programıdır.
İsim Alanları Bu isim uzayı da SQL bağlantılı veritabanı progjelerimize ulaşmak, erişmek için kullanılır.
Veri Tabanı Nesneleri Veri Tabanı üzerinde işlemler yapabilmek için kullanılan bazı veri tabanı nesneleri bulunmaktadır. Bu nesnelerin önek i kullanıldığı veri tabanına göre farklılık gösterir. xxxConnection Nesnesi: Veri tabanına bağlantı kurmak için kullanılan bir nesnedir. Bu nesne kullanılırken, veritabanının türü ve bağlantıya ait çeşitli özellikler ve metotlar kullanılır.
DataSet:Veritabanından bağlantısız olarak çalışan bir nesnedir. xxxCommand Nesnesi: Veri tabanı işlemleri ile ilgili sorguları çalıştırmak için kullanılır. Bu nesne sayesinde ekleme, silme, güncelleme vb. işlemler yapılabilir. xxxDataReader: Veritabanı bağlantısı olduğu müddetçe, veritabanı içindeki verileri okuma amacı ile kullanılır. DataSet:Veritabanından bağlantısız olarak çalışan bir nesnedir. xxxDataAdapter: Bağlantılı veya bağlantısız çalışabilme özelliğine sahip olan bir nesnedir.veritabanından çekilen veriyi Dataset’ e aktarmak ya da Datasette güncellenmiş veriyi veritabanına aktarmak için kullanılır. Şimdi bu nesneleri tek tek inceleyelim.
Connection Nesnesi Sql bağlantılı veritabanlarında bu nesne kullanılır. Access Bağlantılı veritabanlarında ise bu nesne kullanılır. Bu nesne ile bağlantıya ait çeşitli özellikler belirtilir. Bu bağlantı ifadesinde Provider ile bağlantı oluşturulan sağlayıcı gösterilmektedir. Access bağlantısı olduğu görülmektedir. Application.StartupPath ise uygulama ile ilgili bağlantılı yolunun uzun uzun yazılmasının önüne geçilmiştir ve kısaca hangi Access dosyasına bağlantı oluşturulduğu gösterilmiştir. Burada .mdb uzantılı dosyalar ve .accdb uzantılı dosyalar ile karşılaşılabiliriz. Uzantı farklılığı Access dosyasının sürüm farkından kaynaklanmaktadır.
Connection Nesnesi Bu nesne ile ConnectionString deiğimiz bağlantı yolu gösterilmektedir. ConnectionString i alabildiğimiz birkaç yöntem bulunmaktadır. SQLConnection kullanımına bakacak olursak; Ya da farklı olarak; İkisi de kullanılan yöntemlerdendir.
Command Nesnesi Veri tabanı üzerinde SQL sorguları çalştırmak için kullanılan bir nesnesidir. Bu nesne sayesinde Select, Insert, Delete, Update gibi sorguların çalışmasını sağlamış oluruz.
Command Nesnesinin Metotları ExecuteReader: yürütülen komut sonrasında geriye DataReader nesnesi döndürür. ExecuteNonQuery: ekleme, silme, güncelleme gibi etkilenen sorgulardan satırsayısını geriye döndürür. ExecuteScalar: bu metot geriye tek bir değer döndüren sorgular için kullanılır. ExecuteXMLReader: yürütülen komut sonrasında geriye xmlreader nesnesi döndürür.