GÖRSEL KONTROLLERE VERİ BAĞLAMAK (DATATABLE VE CURRENCYMANAGER)

Merhabalar bugün size veritabanı işlemlerini anlatmaya devam edeceğim. Bu sefer anlatacağım konu, toolbox'daki nesnelere nasıl veritabanını bağlayacağımızla ilgili olacak. Textboxlara veritabanından geri dönen kayıtları getireceğiz. Bu işlemi yaparken iki yeni şey öğreneceğiz; DataTable ve CurrencyManager sınıfı. İkisinden de kısaca bahsetmek gerekirse,

DataTable; sanal tablo olarak düşünülebilir. Veritabanımızdaki tabloların kopyaları Visual Studio editörü kısmında olur. Yaptığımız her işlem sanal tablolarda gerçekleşir, gerçek tablolarda değişiklik olmaz.

CurrencyManager Sınıfı; Kayıtlar arasında gezinti yapmamızı sağlar.


Formumuz bu şekilde. Gördüğünüz textboxlara, veritabanındaki bir tablodan kayıtları çekeceğiz. İleri ve Geri butonlarıyla da kayıtlar arasında gezineceğiz.


 Gördüğünüz gibi gerekli kütüphaneyi projeye dahil ettim. Bağlantımı ve komutumu oluşturdum. Bunların dışında da DataTable nesnesi ve CurrencyManager sınıfından bir nesne türettim.

Form'un load olayına veritabanı kodlarımızı yazdım. Gerekli sorguyu yazdım, bağlantımı açtım. Sonra, DataTable nesneme "Load" ile veritabanından gelen kayıtları dolduruyorum. Bunu komut.ExecuteReader ile yapıyorum çünkü geriye çok alanlı birden fazla kayıt dönecek. Artık DataTable doldu, işlemlerimi yapmaya başlayabilirim.

"kno", "kadi", "dgm"... benim görsel kontrollerim. 

kno.DataBindings.Add("Text", dt, "k_no"): DataBindings, veri bağlamak, işlem yaptırmak için kullanılan bir komuttur. "Add" ile textbox'a veri ekliyorum. Parantez içinde bulunan ilk parametre yani "Text", veriyi textbox'ın text özelliğine yazıyorum anlamına gelmektedir. İkinci parametre hangi veri kaynağını kullandığımdır. Biz burada DataTable nesnemizi kullanıyoruz. "k_no" ise veritabanındaki ilgili alan adıdır. Tekrar söylemek gerekirse, alan adlarının doğru yazılması büyük ölçüde önem taşımaktadır.

Bu şekilde tüm textboxlarımıza veri aktarımını sağlıyoruz. 

cm = BindingContext(dt): Burada ise CurrencyManager sınıfından oluşturduğum nesneme BindingContext sınıfından oluşturduğum nesnemi atıyorum. Ama nesneyi oluşturmak için dt nesnemi gönderiyorum. cm, DataTable'daki kayıtlar arasında gezecek.

Ve bağlantıyı kapattım. Şu anda görsel kontrollere veri bağlantısı gerçekleşti. Geri ve ileri butonları kaldı.




 İleri butonumun olayına girip tek satırlık bir kod yazıyorum. 
cm.Position += 1; bulunduğum kayıttan bir sonraki kayda geç. cm.Position'da o anlık kayıt bilgisi bulunmaktadır.
cm.Position -= 1; bulunduğum kayıttan bir önceki kayda geç. Yani pozisyonu değiştir.

Böylece program sonlanmış oluyor.





Görüldüğü gibi program çalıştırılınca tüm bilgilerim gerekli textboxlara geldi. İleri ve geri butonlarına basınca kayıtlar arasında gezip kayıtları sırasıyla getirdiğini göreceksiniz.

İyi günler dilerim.

Yorumlar

Yorum Gönder

Bu blogdaki popüler yayınlar

VB.NET'TE VERİTABANI İŞLEMLERİ

C# - WPF APPLICATION - LISTBOX KULLANIMI

VB.NET'TE VERİTABANINA KAYIT EKLEME İŞLEMİ