Csharp
Csharp

C# Access Veritabanı Bağlantısı

C# ile Access Veritabanı kullanımına birlikte bakalım . Benimde projelerimde kullandığım veri tabanı olan Access ile küçük bir uygulama yaparak açıklayalım


Örnek bir Form üstünden gidelim

Formumuzda 5 adet textbox,1 adet datagridview, 3 adet buton ve 5 adet Label  bulunmaktadır.

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.

Geri kalanını Kodlar üzerinden açıklayalım

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 gerekli.
 
namespace veribaglanti1
{
    public partial class Form1 : Form
    {
        OleDbConnection con;
        OleDbDataAdapter da;
        OleDbCommand cmd;
        DataSet ds;
 
        public Form1()
        {
            InitializeComponent();
        }
        void doldur() // Veri tabanını görüntülemek için
        {
            con = new OleDbConnection("Provider=Microsoft.ACE.Oledb.12.0;Data Source=okul.accdb"); // Veri tabanı yolu
            da = new OleDbDataAdapter("SElect *from ogrenci", con); //Tablo ismi
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"]; // Tablo görüntülendi
            con.Close();
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            doldur(); //alt program çağrıldı
        }
 
        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 + "')"; //Veri tabanına eklemek için önce tablo ismi sonra Textboxlar
            cmd.ExecuteNonQuery();
            con.Close();
            doldur();
        }
 
        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+""; //veritabanı adı = İçerik
            cmd.ExecuteNonQuery();
            con.Close();
            doldur();
        }
 
        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+""; // Silinecek İçerik İdsi where arama için
            cmd.ExecuteNonQuery();
            con.Close();
            doldur();
        }
 
      
        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); // where neye göre arama yapılacak onu belirtir
            ds = new DataSet();
            con.Open();
            da.Fill(ds, "ogrenci");
            dataGridView1.DataSource = ds.Tables["ogrenci"];
            con.Close();
        }
                     
    }
}

Gerekli açıklamaları Kodların yanına yazarak açıklamaya çalıştım . Takıldığınız yerde yorum yazarak yardımcı olabiliriz.

MeK

Pamukkale Üniversitesi Elektrik Elektronik Mühendisliği ni 2018 yılında bitirdim. 2018 yılında Yüksek Lisansa Karatekin Üniversitesi Elektrik Elektronik Mühendisliğine başladım. Programlamayı seviyorum Delphi, C# , C , PHP dillerine hakimim ARM ile uğraşıyorum bunların yanında web tasarım ve sunucu yönetimi ile hobi olarak uğraşıyorum. Sizlere Kodmek sayfamda hakim olduğum diller ve öğrenmek istediğim konularda yardımcı olmaya çalışacağım