Access Veri Tabanı Bağlantısı

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

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

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.

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.
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.

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;

1
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();
}
}
}
Bu yazımızda DataView sınıfını kullanarak belirli kriterlere göre veri filtreleme, arama işlemlerini nasıl yapabileceğimizi gösteren
ufak bir örnek yapacağız. Örneğimizde daha önceden bağlantısı kurulmuş bir veritabanı örneğinde “like” kullanarak arama
yapacağız.DataView sınıfının RowFilter özelliği Sql sorgularındaki “where” gibi çalışır. DataView kullanmanın avantajı
performanslı ve hızlı olmasıdır. DataView nesnesi kullanılabilmek için mutlaka bir DataTable ya da Dataset nesnesine ihtiyaç
duyulur. Kullanımına gelecek olursak; Öncelikle veritabanı bağlantıları yapılmış olan formumuzda arama yapmak için kullanılmak
üzere textBox kontrolümüzü ekliyoruz. textBox kontrolünün TextChanged özelliğine;

private void textBox5_TextChanged(object sender, EventArgs e)


        {
            DataView dv = ds.Tables[0].DefaultView;
            dv.RowFilter = "Ad Like '"+textBox5.Text+"%'";
            //dv.RowFilter = string.Format("Ad LIKE '{0}%'", textBox5.Text);
            dataGridView1.DataSource = dv;
        }

You might also like