C# Access Veritabanı Bağlantısı (Select , İnsert , Update , Delete ) Örnek Uygulama

  • Konbuyu başlatan Rooster
  • Başlangıç tarihi
  • Cevaplar: 2
  • Görüntüleme: 809

Rooster

only business
Legend Member
Katılım
10 Ağu 2019
Konular
727
Mesajlar
3,205
Çözümler
314
Tepkime puanı
4,994
Konum
Milano
Bu yazımızda C# Access veri tabanı bağlantısı kullanarak kayıt listeleme, kayıt ekleme, kayıt güncelleme ve kayıt silme işlemlerini gösteren Windows Form uygulaması oluşturacağız. Sayfada bu işlemi iki farklı şekilde gösteren iki örnek bulunmaktadır.


İkinci bağlantı örneğinin sonunda uygulamanın yapılışı ile ilgili videoda bulunmaktadır.

İlk örnekte bir arama kutusu kullanarak datagridview içinde filtreleme işlemi de gerçekleştireceğiz.

İlk olarak formumuzu aşağıdaki şekilde oluşturarak kaydedelim.

Formumuzda 5 adet textbox,1 adet datagridview, 3 adet buton ve 5 adet Label bulunmaktadır. Datagrid sütunlarını aşağıdaki şekilde düzenlemek isterseniz nasıl yapılacağı ile ilgili videoyu aşağıdaki link’e tıklayarak izleyebilirsiniz.

Veritabanı bağlantısı kurulduğunda DataGridView sütun başlıkları access veritabanı dosyasında tablodaki alan adları şeklinde gelecektir. (Ör: ograd-ogrsoyad vb.)

Eğer bu durum sizin için sıkıntıysa DataGridView sütun başlıklarının sizin belirlediğiniz şekilde görüntülenmesi de mümkündür. Alttaki Youtube videosu tasarım zamanında DataGridView sütunlarını nasıl düzeltebileceğiniz hakkında size yardımcı olacaktır.

Örneğimizi geçelim.

access_baglanti_form

TextBox ların Name özelliğini sırasıyla tbno, tbad, tbsoyad ve tbtel olarak değiştirelim.



Daha sonra “okul.accdb” isminde bir veritabanı dosyası oluşturarak projemizin “debug” klasörü içine atalım ve içine aşağıdaki şekilde “ogrenci” tablomuzu oluşturalım.

access_baglanti_veritabani

Aşağıda programımıza ait kodlar bulunmaktadır. Bu kodları inceleyecek olursak griddoldur metodu oluşturularak datagridviewin içeriğinin verilerle doldurulduğunu görüyoruz. Bunu metot içinde yapmamızın amacını programda bir kaç yerde kullanacağımız için aynı kodları tekrar yazmamak olarak açıklayabiliriz.

Form_Load olayına yani form yüklendiği anda verilerimizin datagridview’ de görüntülenmesini istediğimiz için griddoldur metodunu öncelikle buraya ekledik.

Buton1‘ e bastığımızda kayıt ekleme işlemini gerçekleştirdik. Kayıt ekleme işlemi gerçekleştirdikten sonra datagridin güncellenmesini sağlamak için tekrar griddoldur metodunu çağırdık.

Button3 te öğrenci numarasına göre diğer alanların güncellenmesi işlemini gerçekleştirdik.

Button2‘de ise name özelliğini tbnoolarak değiştirdiğimiz textbox’ a girilen öğrenci numarasına ait kaydın silinmesi işlemini gerçekleştirdik.

Datagridview‘ de tıkladığımız satırdaki verilerin textboxlara gelmesi için Datagridview Cell_Enter olayına gerekli kodları yazdık.

Son olarak arama yapmak için textbox5’i kullandık. Buraya yazdığımız öğrenci adına göre veri tabanında filtreleme yapmış olduk.

Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.OleDb;  // Access bağlantısı kurabilmek için.
 
namespace veribaglanti1
{
    public partial class Form1 : Form
    {
        OleDbConnection con;
        OleDbDataAdapter da;
        OleDbCommand cmd;
        DataSet ds;
 
        public Form1()
        {
            InitializeComponent();
        }
        void griddoldur()
        {
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=okul.accdb");
            da = new OleDbDataAdapter("SElect *from ogrenci", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"];
            con.Close();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            griddoldur();
        }
 
        private void button1_Click(object sender, EventArgs e)  // EKLE BUTONU
        {
            cmd = new OleDbCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "insert into ogrenci (ogr_no,ogr_ad,ogr_soyad,ogr_tel) values ('" + tbno.Text + "','" + tbad.Text + "','" + tbsoyad.Text + "','" + tbtel.Text + "')";
            cmd.ExecuteNonQuery();
            con.Close();
            griddoldur();
        }
 
        private void button3_Click(object sender, EventArgs e)  //GÜNCELLE BUTONU
        {
            cmd = new OleDbCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "update ogrenci set ogr_ad='" + tbad.Text + "',ogr_soyad='" + tbsoyad.Text + "',ogr_tel='" + tbtel.Text + "' where ogr_no="+tbno.Text+"";
            cmd.ExecuteNonQuery();
            con.Close();
            griddoldur();
        }
 
        private void button2_Click(object sender, EventArgs e)  //SİLME BUTONU
        {
            cmd = new OleDbCommand();
            con.Open();
            cmd.Connection = con;
            cmd.CommandText = "delete from ogrenci where ogr_no="+tbno.Text+"";
            cmd.ExecuteNonQuery();
            con.Close();
            griddoldur();
        }
 
      
        private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) //DATAGRİDVİEW SATIRA TIKLANDIĞINDA TEXTBOXLARA AKTARMA
        {
            tbno.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            tbad.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            tbsoyad.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            tbtel.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
        }
 
        private void textBox5_TextChanged(object sender, EventArgs e)  // ARAMA YAPMA
        {
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=okul.accdb");
            da = new OleDbDataAdapter("SElect *from ogrenci where ogr_ad like '"+textBox5.Text+"%'", con);
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"];
            con.Close();
        }
                    
    }
}



 
Üst