C#'ta class oluşturamıyorum.

Kodla Büyü

mavi85

Seçkin Üye
Seçkin Üye
Mesajlar
1,085
arkadaşlar aşağıda textbox4 ve textbox6'nın changed olaylarım var. bu kutulara veri girilince ilgili verinin bazı satır bilgileri datagridview2'de görünüyor. çalışıyor sorun da yok. ama ben bu işi projemde 7 tane textbox için yapıyorum ve aynı işi yapmasına rağmen aynı komutları 7 defa yazmak istemiyorum, tek fark her textbox farklı veritabanından veri atıyor datagridview'e, örneğin textbox4 cari_kart tablosundan, textbox6 stok_karti tablosundan.

Aynı işi yapan textbox komutlarım için nasıl class oluştururum, ben form.cs'de sadece veri tabanının adını yazıp class'a gönderip sorgulama ve veri yükleme işlemini class.css dosyasında yaptırmak istiyorum, mantığım var ama bilgim yok, yardım eder misiniz? celikümit,togius hocam nerdesiniz?

private void textBox4_TextChanged(object sender, EventArgs e)
{
//*******TABLOYU FORMA ATIYORUZ***************

if (menukontrol == 1)
{
bag = new SqlConnection();
bag.ConnectionString = "Data Source=PC_MAVI_10;Initial Catalog=tekstil;User ID=fatih;Password=122112";

if (bag.State == ConnectionState.Closed)
{
bag.Open();

}

sorgu = "select firma_kodu,firma_adi,risk_limiti,alacak,borc from cari_kart";
veri = new SqlDataAdapter(sorgu, bag);

DataSet al = new DataSet();
veri.Fill(al, "cari_kart");

arabul = new DataView();
arabul.Table = al.Tables["cari_kart"]; //ARAMA işlemi için dataset ile datagridview arasına DATAVİEW koyduk. FİND ve CURRENCYMANAGER ile arıyoruz.
dataGridView2.DataSource = arabul;


arabul.RowFilter = "firma_kodu='"+textBox4.Text+"'";

int adet = dataGridView2.Rows.Count - 1;
int a, b, c;
string risk, alacak;

for (int i = 0; i < adet; i++)
{
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
risk = dataGridView2.Rows.Cells[2].Value.ToString();
risk = risk.Replace(".", "");
risk = risk.Replace("TL", "");

// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
alacak = dataGridView2.Rows.Cells[3].Value.ToString();
alacak = alacak.Replace(".", "");
alacak = alacak.Replace("TL", "");



a = Convert.ToInt32(risk); //minimum seviye
b = Convert.ToInt32(alacak); // mevcut miktar

c = b - a;
if (c < 0) // alacak risk'in altına düştüyse renk veriyoruz.
{
dataGridView2.Rows.Cells[2].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[3].Style.BackColor = Color.Yellow;
}

}



bag.Close();

}

//********************************************
}

//TEXTBOX'a girilen stok kodunun bilgileri Datagridview2'de görünecek.
private void textBox6_TextChanged(object sender, EventArgs e)
{
//*******TABLOYU FORMA ATIYORUZ***************

if (menukontrol == 1)// Stok Hareketleri menüsüne tıklandıysa alttaki işlemleri yapsın,menukontrol stok hareketlerine girişin üstünde tanımlandı.
{


bag = new SqlConnection();
bag.ConnectionString = "Data Source=PC_MAVI_10;Initial Catalog=tekstil;User ID=fatih;Password=122112";

if (bag.State == ConnectionState.Closed)
{
bag.Open();

}

sorgu = "select stok_kodu,stok_adi,tedarik_sureci,minimum_seviye,mevcut_miktar from stok_karti";
veri = new SqlDataAdapter(sorgu, bag);

DataSet al = new DataSet();
veri.Fill(al, "stok_karti");

arabul = new DataView();
arabul.Table = al.Tables["stok_karti"]; //ARAMA işlemi için dataset ile datagridview arasına DATAVİEW koyduk. FİND ve CURRENCYMANAGER ile arıyoruz.
dataGridView2.DataSource = arabul;

arabul.RowFilter = "stok_kodu='"+textBox6.Text+"'"; //ARAMA komutu
int adet = dataGridView2.Rows.Count;
int a, b, c;

for (int i = 0; i < adet; i++)
{

// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
risk = dataGridView2.Rows.Cells[2].Value.ToString();
risk = risk.Replace(".", "");
risk = risk.Replace("TL", "");

// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
alacak = dataGridView2.Rows.Cells[3].Value.ToString();
alacak = alacak.Replace(".", "");
alacak = alacak.Replace("TL", "");

a = Convert.ToInt32(dataGridView2.Rows.Cells[3].Value); //minimum seviye
b = Convert.ToInt32(dataGridView2.Rows.Cells[4].Value); // mevcut miktar

c = b - a;
if (c < 0) // Mevcut miktar minimum seviyenin altına düştüyse renk veriyoruz.
{
dataGridView2.Rows.Cells[3].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[4].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[2].Style.ForeColor = Color.Red;
}

}



bag.Close();

}


//********************************************
}
 
Re: Tekrar eden kodlarım için class oluşturabilir misiniz? c#

sanırım 3 tane method oluşturacağız class dosyasında
1. veri tabanında bağlanmak için
2. veri tabanında sorgulama yaptırmak için
3. tl ve . noktaları temizlemek için

ama nasıl yazılacağını bilmiyorum? :?
 
Re: Tekrar eden kodlarım için class oluşturabilir misiniz? c#

bir de class dosyasını yazdıktan sonra nasıl bağlayacağız form.cs'ye, lütfen anlayan varsa yardım etsin, eğitim seti aldım görseleğitimden çok acemice,üstteki gibi aynı kodları tekrar tekrar yazıyor, üniversiteden böyle class yöntemiyle kodları kısalttığımızı hatırlıyorum ama komutları unuttum.
 
BBNET
Geri
Üst