C# Windows Form WPF

C# ile Excel Dosyasını Güncelleme (OLEDB)

Önceki yazılarımda Microsoft Excel 12.0 Object Kütüphanesi ekleme, silme işlemlerini yapmıştıştık.  Excel Object kullanmadan OLEDB ile kayıt ekleme, silme ,güncelleme ve sorgulama işlemlerini SQL yöntemleri ile yapmak mümkün. Bu yazımızda C# ile  Excelde Güncelleme işlemi OLEDB kullanarak nasıl gerçekleştireceğimizi inceleyeceğiz.

Ne yapacağımız hakkında fikir sahibi olmak için aşağıdaki görselleri inceleyebilirsiniz.

Basit bir sorgulama yöntemi ile notu 49 olan kişilerin isimlerini Ahmet olarak değiştireceğiz.

Önceki Durum

1durum

Sonraki Durum

2.durum

 

Yukarıdaki  Excel sayfasına uygun bir sayfa oluşturduğumuzu ve sayfa adının Sayfa1 olduğunu alan adlarının ilk satırdaki gibi olduğunu varsayıp aşağıdaki sorguyu yazıyoruz.

 

Aşağıdaki kodları WPF yada Windows Form projesinde butonun tıklama olayına bağladığımızda D sürücüsünde oluşturulmuş olan yukarıdaki gibi bir excel dosyasında ortalaması 49 olanların  ismini Ahmet olarak değiştirdiğini göreceksiniz.

OLEDB balantısı yapıp bu bağlantıya güncelle sorgusu ile çalıştırıp güncelleme işlemlerini gerçekleştirdik.

OLEDB ile Excel dosyasını güncelleme sorgusunu çalıştırdığınızda program aşağıdaki şekilde çalışacaktır.

Güncelleme Sorgusu

 

1 Yorum

  • public partial class Form1 : Form
    {
    OleDbConnection bag = new OleDbConnection(“Provider=Microsoft.JET.OleDb.4.0;Data Source=” + Application.StartupPath + “\\sinav.mdb”);
    OleDbCommand cmd;
    int id;
    public Form1()
    {
    InitializeComponent();
    }

    private void btnEkle_Click(object sender, EventArgs e)
    {
    string ad, soyad;
    ad = txtAd.Text.Trim().ToLower();
    soyad = txtSoyad.Text.Trim().ToLower();
    bag.Open();
    cmd = new OleDbCommand(“insert into ogrenci(ad,soyad) values(‘” + ad + “‘,’” + soyad + “‘)”, bag);
    int i = cmd.ExecuteNonQuery();
    if (i == 1) MessageBox.Show(“Kayıt işlemi Başarılıdır”);
    else MessageBox.Show(“Kayıt İşlemi Başarısız”);
    bag.Close();
    txtAd.Clear();
    txtSoyad.Clear();
    }

    private void btnListele_Click(object sender, EventArgs e)
    {
    dataGridView1.Rows.Clear();
    bag.Open();
    cmd = new OleDbCommand(“select * from ogrenci”, bag);
    OleDbDataReader dr = cmd.ExecuteReader();
    string[] satir = new string[3];
    while (dr.Read()) {
    satir[0] = dr[0].ToString().ToUpper();
    satir[1] = dr[1].ToString().ToUpper();
    satir[2] = dr[2].ToString().ToUpper();
    dataGridView1.Rows.Add(satir);
    }
    bag.Close();
    }

    private void btnSil_Click(object sender, EventArgs e)
    {
    bag.Open();
    cmd = new OleDbCommand(“delete from ogrenci where ID=” + id, bag);
    int i = cmd.ExecuteNonQuery();
    if (i == 1) MessageBox.Show(“Silme işlemi Başarılıdır”);
    else MessageBox.Show(“Silme İşlemi Başarısız”);
    bag.Close();
    btnListele_Click(sender, e);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    btnSil.Enabled = false;
    btnGuncelle.Enabled = false;
    }

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
    id = Convert.ToInt32(dataGridView1.CurrentRow.Cells[0].Value);
    btnGuncelle.Enabled = true;
    btnSil.Enabled = true;
    txtAd.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
    txtSoyad.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
    }

    private void btnGuncelle_Click(object sender, EventArgs e)
    {
    string ad, soyad;
    ad = txtAd.Text.Trim().ToLower();
    soyad = txtSoyad.Text.Trim().ToLower();
    bag.Open();
    cmd = new OleDbCommand(“update ogrenci set ad=’” + ad + “‘,soyad =’” + soyad + “‘ where ID=”+id, bag);
    int i = cmd.ExecuteNonQuery();
    if (i == 1) MessageBox.Show(“Güncelleme işlemi Başarılıdır”);
    else MessageBox.Show(“Güncelleme İşlemi Başarısız”);
    bag.Close();
    txtAd.Clear();
    txtSoyad.Clear();
    btnListele_Click(sender, e);
    }

Yorum Yap