c# Class Kullanarak Veritabanı İşlemleri

Projemize ekleyeceğimiz bir class ile veritabanı işlemlerimizi çok daha rahat yapabiliriz.Üstelik bu classı bundan sonraki bütün prjelerimizdede kullanabiliriz

Not: Bu yazı bir önceki yaznın devamı niteliğindedir.Okumadıysanız önceki yazıyı okuyup bu yazıyı okuyunuz.

Öncelikle projemıze sağ tıklayıp ADD NEW ITEM ı seçiyor gelen ekrandan Class ı seçiyor adına db yazıyoruz.

12

 

 

Şimdi eklediğimiz classın içini aynen şöyle yapın

[csharp]using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.OleDb;
using System.IO;
using System.Data;

namespace WindowsFormsApplication1
{
class db
{
OleDbConnection baglanti;

public void baglan()
{
baglanti = new OleDbConnection();
baglanti.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Directory.GetCurrentDirectory()+"\db.accdb";
if (baglanti.State == ConnectionState.Closed)
{
baglanti.Open();
}
}

public void sql_calistir(string sql)
{
baglan();
OleDbCommand komut = new OleDbCommand(sql, baglanti);
komut.ExecuteNonQuery();
baglanti_kapat();
}

public OleDbDataReader sql_sonucu_al(string sql)
{
baglan();
OleDbCommand komut = new OleDbCommand(sql, baglanti);
OleDbDataReader okuyucu = komut.ExecuteReader();
return okuyucu;
}

public void baglanti_kapat()
{
if (baglanti.State != ConnectionState.Closed)
{
baglanti.Close();
}
}
}

}[/csharp]

 

Evet classımız artık hazır Şimdi Form1 kod ekranına gelin

Global alana şunu ekleyın

[csharp]db cls = new db();[/csharp]

 

 

Veritabanına kayıt ekleme

Veritabanına kayıt eklemek için kaydet butonna basın ve kod ekranına aynen sunu yazın

[csharp]        private void button1_Click(object sender, EventArgs e)
{
string sorgu = "INSERT INTO KisiTBL (ad,soyad,telefon) VALUES(‘" + textBox1.Text + "’,’" + textBox2.Text + "’,’" + textBox3.Text + "’)";
cls.sql_calistir(sorgu);
MessageBox.Show("Kayıt Eklendi");
listele();
}[/csharp]

 

Veritabanını Listeleme

Şu fonkısyonu ekleyin.Listele fonkısyonunu nerede çagırırsak datagridvieweimiz en güncel haliyle listelenecektir.

[csharp]        void listele()
{
string sorgu = "SELECT * From KisiTBL";
OleDbDataReader okuyucu = cls.sql_sonucu_al(sorgu);
DataTable dt = new DataTable();
dt.Load(okuyucu);
dataGridView1.DataSource = dt;
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
}[/csharp]

Veritabanından Silme veya Güncelleme

Bunun içinöncelikle datagridviweden seçilen kişnini bilgilerinin textboxlara aktarılması lazım.

Bunun için datagridviwe in Cell Click olayına şunları yazın

[csharp]        string Kimlik;
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
{
Kimlik = dataGridView1.SelectedRows[0].Cells[0].Value.ToString();
textBox1.Text = dataGridView1.SelectedRows[0].Cells[1].Value.ToString();
textBox2.Text = dataGridView1.SelectedRows[0].Cells[2].Value.ToString();
textBox3.Text = dataGridView1.SelectedRows[0].Cells[3].Value.ToString();
}[/csharp]

Veritabanından Kayıt Silme

Sil butonuna aynen şunu yazın

[csharp]        private void button2_Click_1(object sender, EventArgs e)
{
string sorgu = "DELETE * FROM KisiTBL WHERE Kimlik=" + Kimlik + "";
cls.sql_calistir(sorgu);
MessageBox.Show("Kayıt Silindi");
listele();
}[/csharp]

Veritabanından Kayıt Güncelleme

Güncelle butonuna aynen şunu yazın

[csharp]        private void button3_Click(object sender, EventArgs e)
{
string sorgu = "UPDATE KisiTBL SET ad=’" + textBox1.Text + "’,soyad=’" + textBox2.Text + "’,telefon=’" + textBox3.Text + "’ WHERE Kimlik=" + Kimlik + "";
cls.sql_calistir(sorgu);
MessageBox.Show("Kayıt Güncellendi");
listele();
}[/csharp]

 

Gördüğünüz gibi bu class sayesinde veritabanı işlemleri çok kolay.

  • string sorgu ya sql sorgumuzu yazıyoruz ve cls.sql_calistir(sorgu) şeklinde bu sorgunun çalışmasını sağlıyoruz.
  • Messagebox.show ile dekullanıcya uyarı veriyoruz.
  • Datagridviewe en güncel halin aktarılması için her işlemin sonunda listele() fonksıyonunu çağırıyoruz.

Ayrıca db class ı içindeki connection string de veritabanı adınız ne ise onun ile düzeltin. benim access dosya adım db.accdb oldugunu ıcın o sekılde yazdım.Sizin dosyanızın adı ney ise onun ıle değiştirin

Yorum yapın