Herkese tekrar merhaba!

Bugün çok güzel ve aslında yıllardır DataTable nesnesi ile uğraşmama rağmen bilmediğim, yeni öğrendiğim DataRowVersion.Original kavramı üzerinde duracağız.

Senaryomuz şu şekilde olacak :

1.       Yeni bir DataTable oluşturacağız ve bu DateTable içinde PersonelAd, PersonelSoyad, Yas alanlarını barındıracağız.

2.       Ad, soyad ve yaş bilgilerini barındıran 3 DataRow oluşturacak ve bunları DataTable içerisine yerleştireceğiz.

3.       Sonra, Ozan Günceler personelinin 35 olarak tanımlanan yaşını, 25 olarak set edeceğiz.

4.       En son olarak diyeceğiz ki, Ozan Günceler personelinin yaşı 25 yapılmadan önce kaçtı ? Bunun cevabını almaya çalışacağız.

Hemen DataTable tanımlamasıyla başlayalım. İşin biraz kolayına kaçarak, boş bir Windows Form’un Load event handler’ı içerisine aşağıdaki kodu yerleştiriyorum :

datarowstate001.jpg

Şimdi sırada, Ozan Günceler, İpek Çobanoğlu ve Ejder Kuvemli isimli personellerimizin tanımını yaparak, DataTable içerisine yerleştirmek var. Bunu başarabilmek için 3 DataRow nesnesi oluşturacağım ve bu nesnelerin sütun bilgilerini set ederek, DataTable.Rows içerisine ekleyeceğim.

 

datarowstate002.jpg

 

Gerekli tanımlamaları yaptık. Dikkat ederseniz, row’ları ekledikten sonra DataTable için AcceptChanges() metodunu çağırıyorum. Bunun sebebi, row datatable içine ilk eklendiğinde Added durumunda olması ve bu durumda olduğunda bize önceki değerini vermemesi.

 

Şimdi sırada, DataTable içindeki 2. Sıradaki kaydın yaşını değiştirmek var. O kişi de bendenizin kaydı. Değiştirmek için aşağıdaki kodu ekliyorum :

 

datarowstate003.jpg

 

Artık DataTable üzerindeki, Ozan Günceler’e ait yaş bilgisi değişti. Ama biz öğrenmek istiyoruz ki, değişiklikten önce bu yaş kaçtı ? Aşağıdaki kodu ekliyorum :

 

datarowstate004.jpg

 

Tamamladığımız bu kodu çalıştırdığımızda aşağıdaki mesaj kutusunu karşılamış oluyoruz :

 

datarowstate.jpg

 

DataRowVersion aslında bir Enumaration, ve elemanları da şunlar :

 

datarowstate2.jpg

 

Umarım faydası olur :)

 

Tekrar görüşmek üzere!

Leave a Reply