15 Ağustos 2013 Perşembe

veritabanına veri girme ve silme ve düzenleme

 OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Ace.OleDb.12.0;Data Source=data.accdb");
        OleDbCommand kmt = new OleDbCommand();
        private void btnKaydet_Click(object sender, EventArgs e)
        {
            try
            {
                bag.Open();
                kmt.Connection = bag;
                kmt.CommandText = "INSERT INTO ogrbil (ogrNo,adSoyad,sinifi,adres) VALUES ('" +                                   textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" 
                        + textBox4.Text + "')";            
                kmt.ExecuteNonQuery();
                bag.Close();
                frm1.frm2.listele();


koyu yazılan yer textbox1 deki veri veritabanında ogrNo ya girilecek diye tek tek beilrteye yarar..






 bag.Open();
            kmt.Connection = bag;
            kmt.CommandText = "DELETE FROM ogrbil WHERE ogrNo= '" +                    
                     dataGridView1.CurrentRow.Cells[0].Value.ToString() + "'";       //datagride secilinin 0.sutun degeri sil
            kmt.ExecuteNonQuery();           //komutu calşıtır
            bag.Close();
            listele();







145 nolu ögrenci secili iken sil tuşuna basınca siliniyor






DÜZENLEMEK ;

yeni bir form4 olusturuyoruz bunu form1 de nesne haline getiriyoruz
  public Form4 frm4;  tanımlayıp  


public Form1
{
 frm4 = new Form4();
 frm4.frm1 = this;
}


daha sonra da form4 te

public form4 üstüne
   public Form1 frm1; ekliyoruz   ve düzenleme      kodumuz ;

 textBox1.Text = frm1.frm2.dataGridView1.CurrentRow.Cells[0].Value.ToString();
            textBox2.Text = frm1.frm2.dataGridView1.CurrentRow.Cells[1].Value.ToString();
            textBox3.Text = frm1.frm2.dataGridView1.CurrentRow.Cells[2].Value.ToString();
            textBox4.Text = frm1.frm2.dataGridView1.CurrentRow.Cells[3].Value.ToString();
        }
 

//textbox1 in textine datagrid secili satırın 0.hücresini yaz   gibi devam ediyor





secili 23 nolu ögrenciyi düzenle deyince ;



Share:

2 Ağustos 2013 Cuma

C# da acces veritabanı datagrid ile bilgiyi ekrana yazdırma

ilk olarak tablomuza DATAGRİDVİEW ekliyoruz .sonra kod kısmından forma tıklayarak FORMLOAD kısmına giirp  kodlarıın kütüphanemize SYSTEM.DATA.OLEDB;   ekleyip   global olarak



OleDbConnection bag = new OleDbConnection("Provider=Microsoft.Ace.OleDb.12.0;Data Source=data.accdb");                                      //bag kuruyoruz
        DataTable tablo = new DataTable();             // yeni tablo olusturuyoruz






FORM LOAD kısmımıza gelip ise;


 OleDbDataAdapter adptr = new OleDbDataAdapter("Select * From ogr", bag);    //bag ile baglan ve bütün bilgileri al diyoruz data adapter ile
            adptr.Fill(tablo);                   //tabloya doldur
            dataGridView1.DataSource = tablo;                     //formdaki datagridin veri kaynagı tablo


burada bizim tablomuzda ne ise forma da başlıklar aynı olarak yüklendi no,ad,sınıf gibi şayet biz başlıkları degistrip forma yüklemek istersek kodun altına 

dataGridView1.Columns[0].HeaderText = "OGRENCI";   



yazarız .  no yerine şuan OGRENCİ yazar 






Share:

1 Ağustos 2013 Perşembe

c# da sadece harf ve sadece rakam girişi izni


textboxta sadece sayı yazmayı saglamak icin ;istenen textboxı secip sagdan EVENTS a girip KEYPRESS e giriyoruz ve kod olarak ;

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (char.IsDigit(e.KeyChar) == false && e.KeyChar!=(char) 08)        //karakter sayı ise ve ascii 08 silme degilse   yani silme tuşu çalısabilir anlamında ascisi 08 
            {
                e.Handled = true;                    //textboxa girisi engelle 
            }
        }






textboxa sadece sayı girmek istersek  istenen TEXTBOX ı secip EVENTS a girip KEYPRESS e giriyoruz kod olarak 

 if (char.IsLetter(e.KeyChar) == false && e.KeyChar != (char)08)            //letter  harfse demek 
            {
                e.Handled = true;
            }





Share:

c# da pek cok sayıda texti temizleme

Bir ekleme veya kaydetme işlemi ardarada yapılırken textboxu hepsinin aynı anda tezimlemek icin ;


{
            for (int i = 0; i < this.Controls.Count; i++)
            {
                if(Controls[i] is TextBox)    Controls[i].Text = "";
            }



                       kaydet butonuna tıklayınca textbox temizleniyor




Share:

c# da Menü ekleme ve işlemler


soldan MENUSTRİP e tıklarız ve menulerimizi tek tek olustururuz...kısa yol tusu ekleme icin yapılan menü üzerine gelip sagdan SHORTCUTKEYS e tıklarız ve kısayol tusu olustururz.....resim eklemek icinse menü secli iken fareden sag tıklayıp  SETİMAGE ile resim ekleriz





Eger formda saga tıklanınca menü acılsın istersek CONTEXTMENU ekliyoruz sagdan ve formun geneline tıklı sekilde sagdan  CONTEXTMENU yu aktif yapıyoruz.









Share:

c# da formlar arası veri aktarımı


Örnek olarak ...ilk önce kullanıcı sifre giriyoruz dogru ise diger form acılır ve Merhaba Kullanıcı adı gösterir

anahtar resmini PİCTUREBOX ile ekleyip STRECH İMAGE diyoruz..   Giriş ve cıkış resimlerini ise IMAGELİST ekleyip sagdan seciyoruz ....giris butonundaki yazının altta olması icin TEXTALİGN e tıklıyoruz  resimi ise üstte olması icin IMAGEALİGN e tıklıyoruz ......girisin kodu ise;

public string ad;                                 //diger forma gidebilmesi icin PUBLİC 
        private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text.Trim() == "ali" && textBox2.Text.Trim() == "1234")        //.Trim ile bsluksa at
            {
                ad = textBox1.Text.ToUpper();                           //hepsiini kücük harf yap upper la 
                this.Hide();
                Form2 frm2 = new Form2();
                frm2.Show();
                frm2.label1.Text = "  MERHABA      " +"  "  + ad.ToString();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }





Sifre ve adı dogru girersek  diger formda merhaba ali demesi icin    diger forma bi label koyuyoruz ve modify = public yapıyoruz ki diger formdan ulasabilelim 






Formu dolduran kullanıcı doldururken her taba basladıgında belli sira ile tab tusu asagı insin istersek ve forma baslarken istedigimz yerden baslasın istersek  TABİNDEX  sagdan bulup en küükten baslayıp buton ve textlere numara veriyoruz 




eger kullanıcı bilgilerini girip ENTER a basınca giris yapsın ESC ye basınca cıkıs ypasın istersek forma genel tıklayıp sagdan ;
ACCEP BUTTON ile giris yapmayı 
CANCELBUTTON ile cıkışı yapabilirz

Share:

c# da formlar arası gecçiş saglama ve KULLANICI ADI VE SİFRESİ İLE DİGER FORMA GECME;

Bir form dan digerine farklı işlem yapılacak sayfa ya gecmek icin kullanılır...Sagdaki form1 tıklayıp add diyoruz form ekleyip yeni formun adını veriyoruz .


Form2 ye gecmek icin tıklıyoruz kodu ise ;

                                          Form2 frm2 = new Form2();         //nesne üretir
                              frm2.Show();         //form2 yi görüntüler
                   this.Hide();  //ilk pencereyi gizler


çıkış için ise.;

Application.exit();







KULLANICI ADI VE SİFRESİ İLE DİGER  FORMA GECME;




ilk olarak form1 acıp sagdan add   , windows form diyerek form2 olusturuyoruz giris tusuna tıklanınca kodumuz;


if (textBox1.Text.Trim() == "ali" && textBox2.Text.Trim() == "1234")    //trim ile boşluk alınıyor
            {
                Form2 frm2 = new Form2();
                frm2.Show();
                this.Hide();
            }
            else sulo.Text = "Kullanıcı adı yada Şifre Hatalı";




Cıkıs botunu icin ;


Application.exit();






eger sifre yazılır yazılmaz YILDIZ olsun istersek   sifre textboxuna tıklamıs ken sagdan password char a  * koyarız 












Share:

c# da prosedür kullanımı


Prosedür kullanımı fonskyionla aynıdır sadece deger dönüdrmez işlemi yapar bırakır.proseduruda fonksiyon gibi cagırabiliyoruz.



örnek ;ilk olarak ekle,sil ,sil(indexe göre)   diye 3 butonumuz var girilen kelimeyi istenen işleme tabi tutuyor listboxta sıralıyoruz diziyi ..ekliyor siliyor yada verilen indexte ki elemanı siliyoruz 




namespace procedur_kullanımı
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        ArrayList guncelle = new ArrayList();                       //yeni bir dizi tanımlıyoruz 

        void yenile()                                                           //prosedur olusturma 
        {
            listBox1.Items.Clear();                                      //listeyi teimzleyip son haline güncelleme 
            foreach (string item in guncelle)
            {
                listBox1.Items.Add(item);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            guncelle.Add(textBox1.Text);
            yenile();                                                                    //prosedur cagırma
        }

        private void button2_Click(object sender, EventArgs e)
        {
            guncelle.Remove(textBox1.Text);
            yenile();
        }

        private void button3_Click(object sender, EventArgs e)
        {
            guncelle.RemoveAt(int.Parse(textBox1.Text));
            yenile();
        }
    }
}




çıktımız;


Share:

c# da fonksiyon kullanımı

Yazılan bir kodu defalarca kullanabilmemizi saglar örnegin ;


(a!+b!)*c!   bulmak için 3 kere faktöriyel fonksiyonu yazmak yerine birk ere yazıp foniyonu cagırıp a! b! yi hesaplayıp işlemimizi yaparız


fonksiyonu global olarak üstte tanımlarız kodu yazarız   foknsiyonumuz;


double faktoriyel(int sayi)
        int a, carpim = 1;
        for (int i = a; i >0 ; i--)
        {
            carpim *= i;  
        }
return carpim

(a! + b! )*c!   hesaplamak icin ise;

int a ,b ;
double sonuc;       // yollanan fonksiyonla aynı tip olmalı   double double
a=int.parse(textbox1.text);
b=int.parse(textbox2.text);
sonuc= (faktoriyel(a)+faktoriyel(b))* faktoriyel(c);    // faktoriyeli tek tek cagıryoruz
label4.text=sonuc.tostring();

Share: