C# SQL Windows Form

C# SQL Veritabanından ListBox’ a Veri Çekme

Bu örnekte C# ile veritabanından ListBox içine veri çekme işlemini gerçekleştireceğiz. Bu işlem için C# SQL Veritabanı bağlantısı oluşturacağız.

Bir ya da birden fazla satırların sonuç olarak döneceği sorgularda OledbCommand’ ın ExecuteReader özelliği kullanılmaktadır.

ExecuteReader geriye OleDbDataReader tipinde veri döndürmektedir.OleDbDataReader, sadece okunabilir olarak kullanılmaktadır. Satır satır okuma işlemi yapılmaktadır. OleDbDataReader kullanımı boyunca veritabanı bağlantısı açık kalmalıdır. Çünkü veritabanı ile bağlantılı olarak çalışmaktadır. Okuma işlemi sona erdiğinde OledbDataReader bağlantısınında kapatılması gerekmektedir.

Okuma işlemi OledbDataReader nesnesinin Read() metodu ile yapılmaktadır. Read() metodu geriye bool türünde değer döndürmektedir. Okunacak satır var ise true, yoksa false değerini döndürmektedir. Bildiğiniz üzere while döngüsü koşul true olduğu sürece icra edilmektedir. Burada da Read() metodu true değerini aldığı sürece işlem görmeye devam edecektir. İşlem sonunda ise SqlDataReader nesnesi Close() metodu ile kapatılmalıdır.

Örnek Uygulama: Personel isimli veritabanında bulunan kisiler tablosunda bulunan “kisi_ad” alanındaki verileri listbox1’e “kisi_soyad” alanındaki verileri listbox2’ye aktaralım.

İlk iş olarak veri tabanımızı hazırlayalım.”personel” isimli veritabanımızı projemizin “Debug” klasörü altında oluşturup kisiler isimli bir tabloyu aşağıdaki şekilde oluşturalım.

datareader_tablo

Daha sonra içerisine kontrol amaçlı bir kaç adet veri girelim.

datareader_veri

Veritabanıyla işimiz tamam. Şimdi de formumuzu aşağıdaki gibi tasarlayalım.

datareader_formtasarim

Kodları yazmaya başlayalım.

İlk önce Access’e bağlanmak için gereken Data.Oledb namespace’ini import edelim.

Daha sonra diğer kodları aşağıdaki şekilde oluşturalım.
Programımızı çalıştırdığımızda çıkan sonuç aşağıdaki gibi olacaktır.

datareader_form

About the author

admin

Add Comment

Click here to post a comment

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.