1 - isyeri adında aşağıdaki veritabanını oluşturun...
Bu veritabanı için sadece yas alanını sayı olarak tanımlayınız...
2 - Aşağıdaki gibi form sayfası oluşturunuz...
3 - Program çalıştığı zaman aşağıdaki gibi bir sonuç verecektir... Bu sonucu struct kullanmadan da yapabiliriz ama struct bize performans açısından artı sağlamaktadır... Struct ile ilgili genel bilgi almak için tıklayınız...
4 - Kod kısmına geçelim... Veritabanı komutlarını kullanabilmek için Data.OleDb sınıfını çağıralım...
5 - isyeri adındaki veritabanımızı çağıralım... oledbconnection sınıfını kullanarak baglanti adında bir değişken tanımlayalım...
6 - Sql sorgulaması yaptırabilmek için komut adında oledbcommand sınıfına ait bir değişken tanımlayalım...
7 - Bir tane struct tanımlayalım... ad,soyad,sehir,yas,ulke adında değişkenler tanımlayalım...
Struct tanımlanırken aşağıdakine benzer bir örnek kullanılabilir... Bu yapı her yerde kullanılabilecek şekilde tanımlanmalıdır...
Struct agac
{
public string yaprak;
public string govde;
public int meyvesayisi;
}
8 - Program açıldığın da listboxın içeriğini doldurabilmek için Form Load da komutları yazıyoruz...
9 - Veritabanı bağlantısını açıyoruz...
10 - Veritabanından bütün bilgileri, oku adında oledbdatareader sınıfından tanımladığımız değişkene getiriyoruz...
11 - Bir while döngüsü ile oku değişkenimiz içindeki verileri okutuyoruz...
While (oku.Read)
{
// işlemler
}
12 - Bu while döngüsünün içerisinde işlemler kısmında öncelikle bir değişken tanımlayacağız... Bu değişken struct yapısını çağıracak ve onun özelliklerini kullanacaktır...
Örneğin yukarıdaki struct için Agac govde = new Agac(); şeklinde tanımlanabilir...
13 - Oku değişkenimize almış olduğumuz bilgileri sırası ile structta tanımlamış olduğumuz değişkenlere atayacağız...
Örneğin govde.yaprak = oku[0].ToString(); gibi...
14 - Yine bu while döngüsü içerisinde atamış olduğumuz değişkenleri listboxa ekliyoruz...
Örneğin listBox1.Items.Add(govde); gibi...
15 - Veritabanı bağlantısını kapatıyoruz...
16 - Aşağıdaki metodu struct içerisine yazarak ToString metodunu eziyoruz... Çünkü struct a bilgiler alınırken nesne olarak alınıyor ve veritabanındaki bütün veriler ekleniyor... Bu durumda yazdırabilmek için metodu bir daha tanımlıyoruz... Çünkü sadece listbox içerisinde adları görmek istiyoruz...
public override string ToString()
{
return Ad; // listboxda etiketlenirken sadece Ad alanı ile etiketleniyorlar...
}
17 - Listboxda seçilenleri görmek için listboxın selectedindexchanged olayını kodlayacağız...
18 - Seçili olan elemana ait verileri getirebilmek için aşağıdaki kodu listboxın içerisine yazıyoruz...
Agac secilinesne = (Agac)listBox1.SelectedItem;
19 - Labellarımıza sırası ile seçili olan nesnemizin değerlerini aktarıyoruz...
label1.Text = secilinesne.yaprak;
Programımızı çalıştırıyoruz... Bu örnek ile struct yapısının neden kullanılması gerektiğini de öğrenmiş oluyoruz...
* Performans açısından avantajlı...
* Veritabanını sürekli olarak aç kapa yapmak zorunda değiliz...
* Struct ile tanımladığımız nesneleri istediğimiz gibi kullanabiliyoruz...
Programımızı çalıştırıyoruz... Bu örnek ile struct yapısının neden kullanılması gerektiğini de öğrenmiş oluyoruz...
* Performans açısından avantajlı...
* Veritabanını sürekli olarak aç kapa yapmak zorunda değiliz...
* Struct ile tanımladığımız nesneleri istediğimiz gibi kullanabiliyoruz...