C# Access Veri Tabanına Kayıt Ekleme, Kayıt Silme, Kayıt Listeleme, Kayıt arama, Kayıt Güncelleme İşlemleri

Csharp Access Veritabanına Kayıt Ekleme Listeleme Silme Arama Güncelleme

Visual C# programı ile Microsoft Access veri tabanıyla kayıt kayıt işlemleri nasıl yapılır bu derste onu anlatacağız. Öncelikle hangi kayıt işlemlerini yapacağız onları yazalım.

-Kayıt Ekleme
-Kayıt Listeleme
-Kayıt Arama
-Kayıt Güncelleme
-Kayıt Silme

Öncelikle Microsoft Access 2007 programında ismi okul.accdb olan bir veritabanı oluşturuyoruz. Oluşturduğumuz okul veritabanını açıp içerisine ogrenci isimli bir tablo oluşturuyoruz. Tabloda bulunan alanlar ve alanların veri tipleri aşağıdaki resimde görüldüğü gibi olmalıdır. Oluşturduğumuz veri tabanı projemizin Debug klasörü içerisinde olmalıdır.

Daha sonra oluşturduğumuz tabloyu açıp içerisine 4-5 tane aşağıdaki resimde görüldüğü gibi kayıt giriyoruz. Bu kayıt girmemizin amacı programı çalıştırdığımızda düzgün çalışıp çalışmadığını kontrol etmek. Zaten program tam çalıştığında yine kayıt ekleyip yada silebileceğiz.

Bu arada projemizin Debug klasörüne Resimler isimli bir klasör oluşturup içerisine 10 tane jpg uzantılı resim kopyalıyoruz.

Artık projemizi oluşturabiliriz. İlk olarak projemizi tasarım ekranında aşağıdaki resimde görüldüğü gibi hazırlıyoruz.

Projemizde 5 tane button, 7 tane textBox, 1 tane dataGridView, 1 tane pictureBox, 8 tane label ve 1 tane openFileDialog nesnesi bulunmaktadır.



ilk olarak veritabanı bağlantısını aktif hale getirmek için using kütüphanelerinden veritabanı kütüphanesini çağırıyoruz.

using System.Data.OleDb; //Acces bağlantı dosyaları

Daha sonra veri tabanı bağlantılarını yapmak ve tablolardan kayıtları çekmek için kullanacağımız veritabanı değişkenlerini tanımlıyoruz.

//Veri Tabanı Değişkenlerini Tanımlama Bölümü
OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=okul.accdb");
OleDbCommand komut = new OleDbCommand();
OleDbDataAdapter adtr = new OleDbDataAdapter();
DataSet ds = new DataSet();

Daha sonra dataGridView üzerinde kayıtları listeletmek için gereken fonksiyonu yazıyoruz. Bu fonksiyonu 1 kere yazdıktan sonra gereken her yerde sadece çağıracağız ve her seferinde yeniden yazmamıza gerek kalmayacak.

//DataGridWiev de kayıtları listeleme bölümü
        void listele()
        {
            baglanti.Open();
            OleDbDataAdapter adtr = new OleDbDataAdapter("Select * from ogrenci", baglanti);
            adtr.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"];
            adtr.Dispose();
            baglanti.Close();
        }

Kayıtlarımızın ekranda görüntülenmesi için oluşturduğumuz listele() fonksiyonunu formun load olayında yazıyoruz. Yani form yüklendiğinde kayıtları çağırsın ve ekranda görünsün diye.

//DataGridWiev de kayıtları listeleme bölümü
        private void Form1_Load(object sender, EventArgs e)
        {
            listele();
        }




Daha sonra resim yükleme işlemine geçiyoruz. Bunun için Resim Ekle butonuna çift tıklayıp içerisine aşağıdaki kodu yazıyoruz.

       //Resim Seçme Bölümü
        private void button5_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                pictureBox1.ImageLocation = openFileDialog1.FileName;
                oresim.Text = openFileDialog1.FileName;
            }
        }

Daha sonra kayıt ekleme butonuna çift tıklayıp içerisine aşağıdaki kayıt ekleme kodunu yazıyoruz. Burada tüm alanların dolu olup olmadığını kontrol ediyoruz eğer tüm alanlar resim alanı dahil dolu değilse zaten tüm alanları doldurunuz diye mesaj veriyor ve kayıt yapmıyor. Tüm alanları doldurduktan sonra kayıt işlemi gerçekleşiyor.

   //Kayıt Ekleme Bölümü
        private void button1_Click(object sender, EventArgs e)
        {
            oresim.Text = pictureBox1.ImageLocation;
            if (tbno.Text != "" && tbadi.Text != "" && tbsoyadi.Text != "" && tbtel.Text != "" && oresim.Text!= "")
            {
                komut.Connection = baglanti;
                komut.CommandText = "Insert Into ogrenci(ogr_no,ogr_ad,ogr_soyad,ogr_tel,resim) Values ('" + tbno.Text + "','" + tbadi.Text + "','" + tbsoyadi.Text + "','" + tbtel.Text + "','" + oresim.Text + "')";
                baglanti.Open();
                komut.ExecuteNonQuery();
                komut.Dispose();
                baglanti.Close();
                MessageBox.Show("Kayıt Tamamlandı!");
                ds.Clear();
                listele();
            }
            else
            {
                MessageBox.Show("Boş alan geçmeyiniz!");
            }
        }




Daha sonra kayıt silme işlemine geçiyoruz. Kayıt silme işlemini yapabilmek için Silinecek öğrencinin numarasını yanındaki textBox’a yazarak Öğrenci sil butonuna tıklıyoruz. Böylece yazılan öğrenci numarasına ait olan kayıt veritabanından dolayısıyla ekrandan silinmiş oluyor. Öğrenci Sil butonuna çift tıklayıp aşağıdaki kodu içine yazıyoruz. Silme işlemini onayladıktan sonra yapıyoruz.

      //Kayıt Silem Bölümü
        private void button2_Click(object sender, EventArgs e)
        {
            DialogResult c;
            c = MessageBox.Show("Silmek istediğinizden emin misiniz?","Uyarı!",MessageBoxButtons.YesNo,MessageBoxIcon.Question);
            if (c == DialogResult.Yes)
            {
                baglanti.Open();
                komut.Connection = baglanti;
                komut.CommandText = "Delete from ogrenci where ogr_no=" + textBox1.Text + "";
                komut.ExecuteNonQuery();
                komut.Dispose();
                baglanti.Close();
                ds.Clear();
                listele();
            }
        }

Daha sonra dataGridden tıklanan yada yön tuşlarıyla seçilen kaydı ekrandaki textBox’lara aktarmak için dataGridView nesnesinin Cell_Enter özelliğine aşağıdaki kodu yazıyoruz.

        //Kayıtları DataGridden Textboxlara yazdırma bölümü
        private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e)
        {
            tbno.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();
            tbadi.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString();
            tbsoyadi.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString();
            tbtel.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString();
            pictureBox1.ImageLocation = dataGridView1.CurrentRow.Cells[4].Value.ToString();
            oresim.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString();
        }




Daha sonra kayıt arama işlemine geçiyoruz. Kayıt arama yaptırmak için Aranacak Öğrenci Numarasına öğrencinin numarasını yazıp Arama butonuna tıklıyoruz ve yazılan numaralı öğrenci hem ekranda hemde kutularda yazılmış oluyor. Bunun için Arama butonuna çift tıklayıp içerisine aşağıdaki kodu yazıyoruz.

        //Kayıt Arama Bölümü
        private void button4_Click(object sender, EventArgs e)
        {
            baglanti = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=okul.accdb");
            adtr = new OleDbDataAdapter("SElect *from ogrenci where ogr_no like '" + textBox2.Text + "%'", baglanti);
            ds = new DataSet();
            baglanti.Open();
            adtr.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"];
            baglanti.Close();
        }

Daha sonra kayıt güncelleme işlemine geçiyoruz. Öğrenci numarasına göre kaydı kutulara çağırdıktan sonra kaydın alanları üzerinde istediğimiz değişikliği yaptıktan sonra Güncelle butonuna tıkladığımızda kayıt güncellenmiş oluyor. Bunu için Güncelle butonuna çift tıklayıp içerisine aşağıdaki kodu yazıyoruz.

       //Kayıt Güncelleme Bölümü
        private void button3_Click(object sender, EventArgs e)
        {
            komut = new OleDbCommand();
            baglanti.Open();
            komut.Connection = baglanti;
            komut.CommandText = "update ogrenci set ogr_ad='" + tbadi.Text + "', ogr_soyad='" + tbsoyadi.Text + "', ogr_tel='" + tbtel.Text + "', resim='" + oresim.Text + "' where ogr_no=" + tbno.Text + "";
            komut.ExecuteNonQuery();
            baglanti.Close();
            ds.Clear();
            listele();
        }




Tüm bu anlatılanları yaptıktan sonra projemizi çalıştırıyoruz. Herşey yolunda giderse aşağıdaki gibi bir görüntü elde diyoruz.

Son olarak Projemizin tüm kodlarını aşağıda yazıyorum.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb; //Acces bağlantı dosyaları

namespace veritabanı_2
{
    public partial class Form1 : Form
    {
        //Veri Tabanı Değişkenlerini Tanımlama Bölümü
        OleDbConnection baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=okul.accdb");
        OleDbCommand komut = new OleDbCommand();
        OleDbDataAdapter adtr = new OleDbDataAdapter();
        DataSet ds = new DataSet();


        public Form1()
        {
            InitializeComponent();
        }

        //DataGridWiev de kayıtları listeleme bölümü
        void listele()
        {
            baglanti.Open();
            OleDbDataAdapter adtr = new OleDbDataAdapter("Select * from ogrenci", baglanti);
            adtr.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"];
            adtr.Dispose();
            baglanti.Close();
        }

        //DataGridWiev de kayıtları listeleme bölümü
        private void Form1_Load(object sender, EventArgs e)
        {
            listele();
        }

        //Resim Seçme Bölümü
        private void button5_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                pictureBox1.ImageLocation = openFileDialog1.FileName;
                oresim.Text = openFileDialog1.FileName;
            }
        }
//Kayıt Ekleme Bölümü private void button1_Click(object sender, EventArgs e) { oresim.Text = pictureBox1.ImageLocation; if (tbno.Text != "" && tbadi.Text != "" && tbsoyadi.Text != "" && tbtel.Text != "" && oresim.Text!= "") { komut.Connection = baglanti; komut.CommandText = "Insert Into ogrenci(ogr_no,ogr_ad,ogr_soyad,ogr_tel,resim) Values ('" + tbno.Text + "','" + tbadi.Text + "','" + tbsoyadi.Text + "','" + tbtel.Text + "','" + oresim.Text + "')"; baglanti.Open(); komut.ExecuteNonQuery(); komut.Dispose(); baglanti.Close(); MessageBox.Show("Kayıt Tamamlandı!"); ds.Clear(); listele(); } else { MessageBox.Show("Boş alan geçmeyiniz!"); } } //Kayıt Silem Bölümü private void button2_Click(object sender, EventArgs e) { DialogResult c; c = MessageBox.Show("Silmek istediğinizden emin misiniz?","Uyarı!",MessageBoxButtons.YesNo,MessageBoxIcon.Question); if (c == DialogResult.Yes) { baglanti.Open(); komut.Connection = baglanti; komut.CommandText = "Delete from ogrenci where ogr_no=" + textBox1.Text + ""; komut.ExecuteNonQuery(); komut.Dispose(); baglanti.Close(); ds.Clear(); listele(); } } //Kayıtları DataGridden Textboxlara yazdırma bölümü private void dataGridView1_CellEnter(object sender, DataGridViewCellEventArgs e) { tbno.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString(); tbadi.Text = dataGridView1.CurrentRow.Cells[1].Value.ToString(); tbsoyadi.Text = dataGridView1.CurrentRow.Cells[2].Value.ToString(); tbtel.Text = dataGridView1.CurrentRow.Cells[3].Value.ToString(); pictureBox1.ImageLocation = dataGridView1.CurrentRow.Cells[4].Value.ToString(); oresim.Text = dataGridView1.CurrentRow.Cells[4].Value.ToString(); } //Kayıt Arama Bölümü private void button4_Click(object sender, EventArgs e) { baglanti = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=okul.accdb"); adtr = new OleDbDataAdapter("SElect *from ogrenci where ogr_no like '" + textBox2.Text + "%'", baglanti); ds = new DataSet(); baglanti.Open(); adtr.Fill(ds, "ogrenci"); dataGridView1.DataSource = ds.Tables["ogrenci"]; baglanti.Close(); }
//Kayıt Güncelleme Bölümü private void button3_Click(object sender, EventArgs e) { komut = new OleDbCommand(); baglanti.Open(); komut.Connection = baglanti; komut.CommandText = "update ogrenci set ogr_ad='" + tbadi.Text + "', ogr_soyad='" + tbsoyadi.Text + "', ogr_tel='" + tbtel.Text + "', resim='" + oresim.Text + "' where ogr_no=" + tbno.Text + ""; komut.ExecuteNonQuery(); baglanti.Close(); ds.Clear(); listele(); } } }

Projenin kaynak dosyasına ulaşmak için Tıklayınız!

C# Access Veri Tabanı İle Yapılmış Diğer Proje Örnekleri



C# access veri tabanı ile araba kiralama programı

C# access veri tabanı ile demirbaş takip programı

C# access veri tabanı ile eczane programı

C# access veri tabanı ile emlakçı programı

C# access veri tabanı ile hal takip programı

C# access veri tabanı ile kullanıcı girişi programı

C# access veri tabanı ile kütüphane programı

C# access veri tabanı ile otel oda programı

C# access veri tabanı ile oto galeri programı

C# access veri tabanı ile otopark programı

C# access veri tabanı ile veresiye takip programı

C# access veri tabanı ile araç kiralama programı

C# access veri tabanı ile demirbaş takip programı

C# access veri tabanı ile eczane takip programı

C# access veri tabanı ile emlakçı programı

C# access veri tabanı ile futbolcu kayıt programı

C# access veri tabanı ile hasta takip programı

C# access veri tabanı ile işçi takip programı

C# access veri tabanı ile kitap kayıt programı

C# access veri tabanı ile kütüphane programı

C# access veri tabanı ile otel müşteri programı

C# access veri tabanı ile otel takip programı

C# access veri tabanı ile otopark programı

C# access veri tabanı ile telefon satış programı

C# access veri tabanı ile muhtar takip programı

C# access veri tabanı ile veresiye takip programı

C# access veri tabanı ile kayıt ekleme, silme, listeleme, arama, güncelleme

Bu Yazıya Tepkin Nedir?
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Yorum Yap

19 Yorum

  • Teşekkürler, sizin örneğiniz çalışıyor. Sadece isim değişiklikleri yaptım ancak kayıt ekleme bölümünde else’den önce
    Hata CS1513 } bekleniyor
    hatası alıyorum. Sebebi ne olabilir? Kontrol ediyorum, sorun göremiyorum.

  • form açıldığı zmn foto gelmesin kişi bilgilerinin üzerine tıkladığımızda gelsin bi onun için bişi yaparsanız sevinirim

    • Onun için form load olayında diğer bilgileri çağırırken resim bilgisini çıkarmak gerekli. Bu şekilde kodu değiştirirseniz form açıldığında resim gelmez. Sadece kayıt üzerine tıklandığında gelir.

      Kolay gelsin 🙂

    • komut.ExecuteNonQuery(); hatası muhtemelen bir üst satırdaki SQL cümlesinden kaynaklanmaktadır. SQL cümlesinin yazımında hata yapmış olabilirsiniz. Bu örnekteki program hatasız olarak çalışmaktadır. Kolay gelsin

        • Merhaba proje sorunsuz olarak çalışıyor. Size tavsiyem projeyi bilgisayarınıza indirerek çalıştırın daha sonra üzerinde istediğiniz değişikliği yapın yada kodlarından kendi projenizi oluşturun. Kolay gelsin.

    • Bir üst satırda komut nesnesi tanımlarken ikinci parametre olarak baglanti adını yazmadıysan bu hatayı alabilirsin benim başıma geldi de o yüzden….

  • System.Data.OleDb.OleDbException: ‘Gerekli bir veya daha fazla parametre için girilen değer yok.’
    HATASI ALIYORUM

    • Proje tam olarak çalışmaktadır. Siz kodlarınızı tekrar kontrol ediniz. Sayfanın sonunda projenin tam çalışan hali var dosyaları linkten indirerek kullanabilirsiniz. Kolay gelsin.

  • System.Data.OleDb.OleDbException: ‘Syntax error in string in query expression ”215)’.’
    bu hatayı alıyorum güncellede ne yapmam lazım

    • Güncelleme satırında bulunan hangi kaydın güncelleneceği ile ilgili olan where ogr_no=” + tbno.Text + “” kısmında yazım hatası olabilir. Oraya dikkat edin yada güncelleme satırında başka bir yerde yazım yanlışı yapmış olabilirsiniz.

  • Teşekkürler sayenizde kendimi geliştiriyorum emeklerinizin karşılığını daha fazla şekilde almanız dileğimle

  • iyi günler arkadaşlar ben programda baglanti.open(); baglantı acık kapatılamadı hatası alıyorum? nasıl düzelte bilirim?

    • Aslında veri tabanına resim ekleme yapılmıyor. Sadece resim url’si veri tabanına ekleniyor. Ekrana geldiğinde ise bağlı url’de bulunan resim ekranda gösteriliyor. Resim seçme ve resmin url’sinin veri tabanına eklenmesi işlemi aşağıdaki kod ile yapılmaktadır.

      //Resim Seçme Bölümü
      private void button5_Click(object sender, EventArgs e)
      {
      if (openFileDialog1.ShowDialog() == DialogResult.OK)
      {
      pictureBox1.ImageLocation = openFileDialog1.FileName;
      oresim.Text = openFileDialog1.FileName;
      }
      }
      //Resim Seçme Bölümü
      private void button5_Click(object sender, EventArgs e)
      {
      if (openFileDialog1.ShowDialog() == DialogResult.OK)
      {
      pictureBox1.ImageLocation = openFileDialog1.FileName;
      oresim.Text = openFileDialog1.FileName;
      }
      }