C# ile Veritabanındaki Kayıtları Listeleme

C# ile tüm veritabanı işlemlerinde, öncelikle yönetilecek veritabanına bağlantı sağlanmalıdır. Veritabanı bağlantısı, veritabanına özgü bazı bağlantı yöntemlerinin, hesap bilgilerinin, veritabanı sürücüsünün özelliklerine göre değişen bir bağlantı cümlesi yardımıyla sağlanır.

Veritabanı bağlantı cümlesinin nasıl elde edileceği Veritabanı Bağlantı Cümlesi (ConnectionString) Oluşturma yazısında ayrıntılı olarak anlatılmıştır. Bağlantı cümlesini aldıktan sonra bunu cumle isimli bir string değişkende tutalım.

Veritabanında bulunan bir veya daha fazla tablodaki kayıtları listeleyebilmek için öncelikle veritabanına bağlantının sağlanması gerekmektedir. Veritabanı bağlantısı, OleDbConnection nesnesinin kullanılmasıyla sağlanmaktadır. Bu yazıda her ne kadar OleDb nesneleri anlatılsa da SqlClient nesneleri de benzer şekilde kullanılmaktadır.

Ardından yazacağımız SELECT komutu için  bir nesne oluşturmamız gerekir. Bu nesneyi de OleDbDataAdapter sınıfından türetiyoruz.  Bu sınıfın kurucu metodunda aşırı yüklenmiştir. Bizim kullanım şeklimiz aşağıdadır.

Türetilen komut nesnesine 2 parametre gönderilmiştir. Bunlarda ilki SELECT içeren SQL komutu, diğeri de az önce oluşturulan baglanti nesnesidir. OleDbDataAdaptor dışındaki nesnelerde baglanti.Open() diyerek bağlantıyı açma zorunluluğumuz vardır, ancak OleDbDataAdaptor nesnesi bağlantıyı kendiliğinden açar.

Buradan dönecek veri bir tablo olarak getirilecektir. Veritabanından döndürülen tablo tipindeki veriyi taşıyabilecek bir nesneye ihtiyacımız vardır. Bunun için DataTable sınıfından türetilen tablo nesnesini kullanabiliriz.

Bu tablo, ilk oluşturulduğunda boştur. komut nesnesi aracılığı ile tablo nesnesinin içi doldurulur.

Böylece veriler kullanıma hazır hale getirildi ancak hala kullanıcıya yansıtılacak bir durumda değil. Kullanıcıya gelen verinin içeriği bir DataGridView nesnesi aracılığıyla olabilir. Windows formunuzun üzerine bir DataGridView nesnesini sürükleyip bıraktığınızı ve dataGridView1 isminde bir nesnenin hazır olduğunu düşünelim. dataGridView1 nesnesinin DataSource özelliğinin içi doldurulan tablo nesnesini işaret etmesini sağlarsak veriler görüntülenecektir. (DataTable bir referans tip olduğu için “aktarmak” yerine “işaret etmek, göstermek” deyimi daha mantıklıdır.)

Eğer WPF formu kullanıyorsanız DataGrid nesnesi oluşturarak bu nesnenin ItemsSource özelliğine tablo nesnesi gösterilir. Benzer şekilde bu nesnenin AutoGenerateColumns özelliği True olarak ayarlanmalıdır.

Özetle, bir Windows formu için yazdığımız komutları bir araya getirecek olursak aşağıdaki satırlar elde edilir:

 

About Hürkal HÜSEM

2010 yılından bu yana Bilişim Teknolojileri Öğretmeni olarak meslek liselerinde görev yapmaktayım.

View all posts by Hürkal HÜSEM →

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.