Sem Göksu
Sem Göksu
Yazılım · Yolculuk · Fenerbahçe
C#

Koleksiyonlar

Collectionlar bize Datasetlerden bağımsız çalışmamızı sağlar ve buda bize çok büyük performans kazancı sağlar. Collection lar arraylere benzer ve Classlar içerisine nesneleri yerleştirmemizi sağlar.

26 Kasım 2006 2 dk okuma 61 0
Collectionlar bize Datasetlerden bağımsız çalışmamızı sağlar ve buda bize çok büyük performans kazancı sağlar. Collection lar arraylere benzer ve Classlar içerisine nesneleri yerleştirmemizi sağlar.


using System;

namespace Collection
{

public class Kategori
{
private int tKategoriNo;
private string tKategoriAdi;
private string tKategoriAciklama;

public Kategori(){}

public Kategori(string kategoriadi, string kategoriAciklama)
{
this.tKategoriAdi=kategoriadi;
this.tKategoriAciklama=kategoriAciklama;
}

public int  KategoriNo
{
get
{
return tKategoriNo;
}
set
{
tKategoriNo=value;
}
}

public Kategori(){}

public string KategoriAciklama
{
get
{
return tKategoriAciklama;
}
set
{
tKategoriAciklama=value;
}
}


public string   KategoriAdi
{
get
{
return tKategoriAdi;
}
set
{
tKategoriAdi=value;
}
}


}
}


Kategori classı içerisinde Kategoriler tablosuna ait bir kategori nesnesi olusturduk.
Simdi bu nesneye ait bir Collection olusturabiliriz. Projemize bir adet daha class ekleyelim ve adını KategoriCollection.cs verelim.


using System;
using System.Collections;



namespace Collection
{

public class KategoriCollection:CollectionBase //Collection Classları CollectionBase sınıfından türer ve Collection base System.Collections namespace i içerisinde yer alır.
{
public KategoriCollection(){}

/*Burada Collecsiyonunuza bir eleman eklemek için Add Fonksiyonu olusturuyoruz. Dısarıdan Kategori türünde bir kategori nesnesi alır.*/

public int Add(Kategori kategori)
{
return this.List.Add(kategori);
}

public int Add(string KategoriAdi, string KategoriAciklama)
{
Kategori Kategori =new Kategori(KategoriAdi,KategoriAciklama);
return this.List.Add(Kategori);
}

public int Add(int kategorino, string KategoriAdi, string KategoriAciklama)
{
Kategori Kategori =new Kategori(kategorino,KategoriAdi,KategoriAciklama);
return this.List.Add(Kategori);
}

/* Collectionumuzdan bir eleman silmek için bir void olustururuz. */

public void Remove(Kategori kategori)
{
this.List.Remove(kategori);
}

/*Kategori türünde this adında özel bir property olustururuz*/

public Kategori this[int index]
{
get {return (Kategori)this.List[index];}
set{this.List[index]=value;}
}
}
}


Kategori Nesnemizi ve Kategori  Collectionumuzu olusturdugumuza göre  artık bu collectionu kullanabiliriz. Projemize bir adet daha class ekleyelim ve adını  KategoriProvider.cs olarak verelim.


using System;


namespace Collection
{
public class KategoriProvider
{

/* Static bir Connection olusturulur */

private static System.Data.SqlClient.SqlConnection Cnn=new System.Data.SqlClient.SqlConnection(Genel.ConnectionString);


public KategoriProvider(){}


/* Verileri çekmek için GetAllKategori  adında bir function olustururuz. Function  KategoriCollection türndedir.
*/
public static KategoriCollection GetAllKategori()
{
KategoriCollection kc=new KategoriCollection();
System.Data.SqlClient.SqlCommand Cmd=new System.Data.SqlClient.SqlCommand
("Select * from Categories ",Cnn);

System.Data.SqlClient.SqlDataReader Dr;

Cnn.Open();

Dr=Cmd.ExecuteReader();
while (Dr.Read())
{
kc.Add(
(int)Dr["CategoryID"],
(string)Dr["CategoryName"],
(string)Dr["Description"]
);
}

Dr.Close();
Cnn.Close();

return kc;

}
}
}


Evet simdi her sey hazır. Artık collectionumuzu form üzerinde kullanabiliriz. Bunun için formumuza bir adet Datagrid ekleyelim.



Gridimizi ekledikten sonra form yüklenirken verileri göstermek için Form_Load eventi içerisine asagıda kodları yazarsak projemizi tamamlamıs olacagız.


private KategoriCollection Kc=new KategoriCollection();//Collectionumuzun instance ni olusturduk


private void Form1_Load(object sender, System.EventArgs e)
{
Kc=KategoriProvider.GetAllKategori();
dataGrid1.DataSource=Kc;
}


Evet projemizi tamamladıgımıza göre artık projeyi çalıstırabiliriz.

Iste sonuç



Evet arkadaslar makalemizin sonuna geldik bir sonraki makalemizde görüsmek üzere.

Etiketler: #C# #.NET Framework
Paylaş:

Yorumlar (0)

Henüz yorum yok. İlk yorumu sen yap!

Yorum bırak

* Yorumlar moderasyon sonrası yayınlanır. E-posta gizli tutulur.