• 27-05-2014, 00:58:08
    #1


    Selamun aleyküm arkadaşlar. C# da arkadaşımın büyük yardımlarıyla bir kütüphane otomasyonu yaptık. Fakat kod kısmını hiç anlayamadım. Daha doğrusu zaten C#'a hakim birisi değilim,projeyi teslim aşamasında hocalar kod kısmından çok soru soruyorlar. Sizden ricam anlayan kardeşlerim varsa,açıklayabildiği yerleri bir satır bile olsa neden böyle olduğunu söylerlerse çok sevinirim. Şimdiden Allah razı olsun...


    Form Kısmı


    Kod Kısmı
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace Komutla_data_2
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    }
    OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=data.mdb");
    OleDbCommand kmt = new OleDbCommand();
    OleDbDataAdapter adtr = new OleDbDataAdapter();
    DataSet dtst = new DataSet();
    void listelesene()
    {
    bag.Open();
    OleDbDataAdapter adtr = new OleDbDataAdapter("select * From kitapbil", bag);
    adtr.Fill(dtst, "kitapbil");
    dataGridView1.DataSource = dtst;
    dataGridView1.DataMember = "kitapbil";
    adtr.Dispose();
    bag.Close();
    }
    void texteyaz()
    {
    textBox9.Text = (this.BindingContext[dtst, "kitapbil"].Position+1) + " / " + this.BindingContext[dtst, "kitapbil"].Count;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    listelesene();
    texteyaz();
    textBox1.DataBindings.Add("Text", dtst, "kitapbil.Kitap_NO");
    textBox2.DataBindings.Add("Text", dtst, "kitapbil.Kitap_Adi");
    textBox3.DataBindings.Add("Text", dtst, "kitapbil.Yazar_Adi");
    textBox4.DataBindings.Add("Text", dtst, "kitapbil.Yayin_Evi");
    textBox5.DataBindings.Add("Text", dtst, "kitapbil.Kitap_Turu");
    textBox6.DataBindings.Add("Text", dtst, "kitapbil.Baski_Sayisi");
    textBox7.DataBindings.Add("Text", dtst, "kitapbil.Stok_Sayisi");
    textBox8.DataBindings.Add("Text", dtst, "kitapbil.Gelis_Tarihi");

    }

    private void button2_Click(object sender, EventArgs e)
    {
    foreach (Control c in this.Controls)
    if (c is TextBox)
    if (c.Text == "")
    {
    MessageBox.Show("Alanları Doldurunuz.");
    return;
    }
    bag.Open();
    kmt.Connection = bag;
    kmt.CommandText = "INSERT INTO kitapbil(Kitap_No,Kitap_Adi,Yazar_Adi,Yayin_Evi,Ki tap_Turu,Baski_Sayisi,Stok_Sayisi,Gelis_Tarihi) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "') ";
    kmt.ExecuteNonQuery();
    kmt.Dispose();
    bag.Close();
    dtst.Clear();
    listelesene();
    texteyaz();
    }
    private void button3_Click(object sender, EventArgs e)
    {
    DialogResult cevap;
    cevap = MessageBox.Show("Kaydı silmek istediğinizden emin misiniz?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    if (cevap == DialogResult.Yes)
    {
    bag.Open();
    kmt.Connection = bag;
    kmt.CommandText = "DELETE from kitapbil WHERE Kitap_No='" + textBox1.Text + "'";
    kmt.ExecuteNonQuery();
    kmt.Dispose();
    bag.Close();
    dtst.Clear();
    listelesene();
    texteyaz();
    }
    }
    private void button1_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].AddNew();
    }

    private void button4_Click(object sender, EventArgs e)
    {
    bag.Open();

    kmt.CommandText = "UPDATE kitapbil SET Kitap_Adi='" + textBox2.Text + "',Yazar_Adi='" + textBox3.Text + "',Yayin_Evi='" + textBox4.Text + "',Kitap_Turu='" + textBox5.Text + "',Baski_Sayisi='" + textBox6.Text + "',Stok_Sayisi='" + textBox7.Text + "',Gelis_Tarihi='" + textBox8.Text + "' WHERE Kitap_No='" + textBox1.Text + "'";
    kmt.Connection = bag;
    kmt.ExecuteNonQuery();
    kmt.Dispose();
    bag.Close();
    dtst.Clear();
    listelesene();
    texteyaz();
    }
    private void button8_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position += 1;
    texteyaz();
    }
    private void button9_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position = this.BindingContext[dtst, "kitapbil"].Count;
    texteyaz();
    }
    private void button6_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position = 0;
    texteyaz();
    }
    private void button7_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position -= 1;
    texteyaz();
    }

    private void button10_Click(object sender, EventArgs e)
    {
    foreach (Control c in this.Controls)
    if (c is TextBox)
    c.Text = "";
    }

    private void button5_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }
    }
    }
  • 27-05-2014, 02:05:50
    #2
    kimse cvp vermezse yarın yazmaya çalışırım.. mesajım bulunsun konuda..
  • 27-05-2014, 09:07:58
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    işyerinde olduğum için yazamayacağım baya uzun her satırın ne olduğunu yazmak zaman alır ama geceye kadar kimse yazmamışsa yazarım
  • 27-05-2014, 10:55:04
    #4
    arkadaş yapacakmış madem akşama,benim pek zamanım yok iyi oldu..

    kolay gelsin
  • 27-05-2014, 14:30:37
    #5
    Öncelikle ilginiz için minnettarım. Programı yarın hocaya sunum şeklinde anlatacağım. Bugün akşam açıklamış olursanız çok makbule geçer,saygılarımı sunarım...
  • 27-05-2014, 16:04:50
    #6
    yorum satırları halinde ekledim kolay gelsin.


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    //BU YUKARIDAKİLERİN HEPSİ NAMESPACE'DİR. BURADA KULLANMIŞ OLDUĞUN KODLAR HANGİ NAMESPACEYİ İSTİYORSA ORDAN ÇEKERSİN.

    namespace Komutla_data_2
    {
    public partial class Form1 : Form
    {
    public Form1()
    {
    InitializeComponent();
    //FORM'UN İLK OLUŞTURULDUĞUNDA ÇALIŞACAK KODLAR BURDA YER ALIR (CONSRUCTOR)
    }
    OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0 ;Data Source=data.mdb");
    //OLEDBCONNECTION İLE BAĞLANTI NESNESİ OLUŞTURUR
    OleDbCommand kmt = new OleDbCommand();
    //OLEDBCOMMAND İLE COMMAND NESNESİ OLUŞTURUR
    OleDbDataAdapter adtr = new OleDbDataAdapter();
    //DATAADAPTER NESNESİ OLUŞTURUR
    DataSet dtst = new DataSet();
    //DATASET NESNESİ OLUŞTURUR
    void listelesene()
    {
    bag.Open();
    //YUKARIDA OLUŞTURDUĞUMUZ BAĞLANTIYI AÇIYORUZ
    /* bag.Open() yerine
    if(bag.State == ConnectionState.Closed)
    bag.Open();

    kullanmanı tavsiye ederim çünkü bağlantı açık kalırsa ve 2. kere açacaksın bu durumda hata alırsın
    */
    OleDbDataAdapter adtr = new OleDbDataAdapter("select * From kitapbil", bag);
    //SQL SORGUSU İLE DATAADAPTER'İN İÇİNE AKTARIYORUZ
    adtr.Fill(dtst, "kitapbil");
    //DATASET İÇİNE FİLL EDİYORUZ
    dataGridView1.DataSource = dtst;
    dataGridView1.DataMember = "kitapbil";
    //GELEN DATALARI GRİD İÇİNDE GÖSTERİYORUZ
    adtr.Dispose();
    bag.Close();
    //DATAADAPTER VE BAĞLANTIYI KAPATIYORUZ
    }
    void texteyaz()
    {
    textBox9.Text = (this.BindingContext[dtst, "kitapbil"].Position+1) + " / " + this.BindingContext[dtst, "kitapbil"].Count;
    //DATALARI TEXTBOXA YAZDIRIR
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    //BURASI FORMUN İLK YÜKLEDİĞİ HALİDİR YUKARIDAKİ CONTRUCTOR İLE FARKLIDIR. CONSRUCTOR FORM YÜKLENMEDEN ÖNCE ÇALIŞIR
    listelesene();
    texteyaz();
    textBox1.DataBindings.Add("Text", dtst, "kitapbil.Kitap_NO");
    textBox2.DataBindings.Add("Text", dtst, "kitapbil.Kitap_Adi");
    textBox3.DataBindings.Add("Text", dtst, "kitapbil.Yazar_Adi");
    textBox4.DataBindings.Add("Text", dtst, "kitapbil.Yayin_Evi");
    textBox5.DataBindings.Add("Text", dtst, "kitapbil.Kitap_Turu");
    textBox6.DataBindings.Add("Text", dtst, "kitapbil.Baski_Sayisi");
    textBox7.DataBindings.Add("Text", dtst, "kitapbil.Stok_Sayisi");
    textBox8.DataBindings.Add("Text", dtst, "kitapbil.Gelis_Tarihi");

    }

    private void button2_Click(object sender, EventArgs e)
    {
    foreach (Control c in this.Controls)
    if (c is TextBox)
    if (c.Text == "")
    {
    MessageBox.Show("Alanları Doldurunuz.");
    return;
    }
    bag.Open();
    kmt.Connection = bag;
    kmt.CommandText = "INSERT INTO kitapbil(Kitap_No,Kitap_Adi,Yazar_Adi,Yayin_Evi,Ki tap_Turu,Baski_Sayisi,Stok_Sayisi,Gelis_Tarihi) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "','" + textBox6.Text + "','" + textBox7.Text + "','" + textBox8.Text + "') ";
    kmt.ExecuteNonQuery();
    //EXECUTENONQUERY KOMUTU DATABASEDE KAYITEKLEME, UPDATE VE SİLME İŞLEMLERİNDE KULLANILIR
    kmt.Dispose();
    bag.Close();
    dtst.Clear();
    listelesene();
    texteyaz();
    }
    private void button3_Click(object sender, EventArgs e)
    {
    DialogResult cevap;
    cevap = MessageBox.Show("Kaydı silmek istediğinizden emin misiniz?", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
    if (cevap == DialogResult.Yes)
    {
    bag.Open();
    kmt.Connection = bag;
    kmt.CommandText = "DELETE from kitapbil WHERE Kitap_No='" + textBox1.Text + "'";
    kmt.ExecuteNonQuery();
    kmt.Dispose();
    bag.Close();
    dtst.Clear();
    listelesene();
    texteyaz();
    }
    }
    private void button1_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].AddNew();
    }

    private void button4_Click(object sender, EventArgs e)
    {
    bag.Open();

    kmt.CommandText = "UPDATE kitapbil SET Kitap_Adi='" + textBox2.Text + "',Yazar_Adi='" + textBox3.Text + "',Yayin_Evi='" + textBox4.Text + "',Kitap_Turu='" + textBox5.Text + "',Baski_Sayisi='" + textBox6.Text + "',Stok_Sayisi='" + textBox7.Text + "',Gelis_Tarihi='" + textBox8.Text + "' WHERE Kitap_No='" + textBox1.Text + "'";
    kmt.Connection = bag;
    kmt.ExecuteNonQuery();
    kmt.Dispose();
    bag.Close();
    dtst.Clear();
    listelesene();
    texteyaz();
    }
    private void button8_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position += 1;
    texteyaz();
    }
    private void button9_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position = this.BindingContext[dtst, "kitapbil"].Count;
    texteyaz();
    }
    private void button6_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position = 0;
    texteyaz();
    }
    private void button7_Click(object sender, EventArgs e)
    {
    this.BindingContext[dtst, "kitapbil"].Position -= 1;
    texteyaz();
    }

    private void button10_Click(object sender, EventArgs e)
    {
    foreach (Control c in this.Controls)
    if (c is TextBox)
    c.Text = "";
    }

    private void button5_Click(object sender, EventArgs e)
    {
    Application.Exit();
    //UYGULAMADAN ÇIKAR AMA Environment.Exit(-1) KULLANMANI TAVSİYE EDERİM
    //BÜTÜN KODLARIN HEPSİNE YAZMADIM ÇÜNKÜ YAZDIKLARIMIN HEPSİNDEN VAR.
    }
    }
    }
  • 27-05-2014, 19:39:38
    #7
    Çok çok teşekkür ederim. Allah razı olsun...
  • 28-05-2014, 23:51:40
    #8
    Teşekkürler