Selamun aleyküm arkadaşlar c# mysql bağlantısı yapmak bize uzak sunucu ile çalışma imkanı sağlayacaktır.Makalemizde C# Mysql Bağlantısı yapmak , C# MYSQL EKLEME, C# MYSQL SİLME , C# MYSQL GÜNCELLEME gibi işlemler nasıl yapılır bunu göstereceğim.
C# Mysql Bağlantısı || Ekle || Sil || Güncelle Resimli Anlatım
Öncelikle mysql bağlantısı eklemek için projemize gerekli dll import etmemiz gerekir.Bu dll lere ulaşabilmek için
https://dev.mysql.com/downloads/connector/net/ Yukarıdaki linkten indirebilir, yada direk aşşağı da vereceğim linkten mysql dll projenize import edebilirsiniz.
https://yadi.sk/d/Powqc1f73Sf2QP
Projemize ctrl + alt +L diyerek solution explorer penceremizi açıyoruz.
Buradan proje dosyamıza sağ tıkayıp
diyoruz.
,
evet arkadaşlar bu yöntemle istediğiniz dll projenize referans olarak ekleyebilirsiniz.Biz mysqldata.dll bulup ekle diyoruz sizde farklı bir konumda olabilir.

Tamam dedikden sonra artık mysql ile çalışma yapabiliriz.Eğer elinizde sunucu varsa sunucu bilgilerini kullanarak herhangi bir localhost bağlantısı olmadan çalışabilirsiniz.Ancak ben localhost üzerinden göstereceğim için wamp server bilgisayarıma kurdum sizde aşşağıdaki linkten kurabilirsiniz.
http://www.wampserver.com/en/
Kurduktan sonra icon olarak masaüstü araç çubuğumuzda gözüküyor dilini türkçe yaparak hizmetleri başlatabilirsiniz.

Bir kere sol tıklayıp tüm hizmetleri yeniden başlat diyebilirsiniz.Ardından sembol yeşile dönünce araç çubuğumuza
yazıp enterlıyoruz.

Araç çubuğumuza linki girdiğimiz zaman böyle bir ekran gelecek . Kullanıcı adı varsayılan olarak root şifre ise yoktur.
Ardından Git tuşuna basıyoruz.

Şimdi çalışma yapabilmemiz için veritabanı oluşturmalıyız.
- İlk Adım olarak Yeni kısmına basıyoruz.Sağtaraftaki alan geliyor.
- İkinci olarak veritabanı ismini seçiyoruz
- Üçüncü olarak karakter seçeneğini seçiyoruz
- Son olarak oluştura basıyoruz
Ben hazır olarak market_sistemi adlı veritabanını oluşturdum.Sizde market_sistemi adlı bir veritabanı oluşturup daha sonra içe aktar sekmesine tıklayıp benim veritabanımla çalışabilirsiniz.Buyrun linkini vereyim.
https://yadi.sk/d/E-MwzcVF3Sgrit
Şimdi veritabanı bağlantımıza geçelim ama daha önce projemizde veritabanı ile çalışacağımız formlara şu kütüphaneleri eklememiz gerekiyor.
| 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; //Eklememiz gereken Kütüphaneler using MySql.Data.MySqlClient;//1 using MySql.Data;//2 |
Şimdi google mysql connection string yazalım bakalım ilk sırada çıkan şeye.
Server=myServerAddress;Database=myDataBase;Uid=myUsername;Pwd=myPassword;
Bu bizim işimizi görecektir.Adres yazan yere sunucunuz varsa ipi adresi local çalışıyorsanız localhost yazıcaksınız.
Database kısmına veritabanı adını.Uid kısmına kullanıcı adınız Pwd kısmınada şifreyi yazıcaksınız.Ben temiz bir çalışma yapabilmemiz için sqlconnection adı altında bir class oluşturup bağlantıları buradan çekeceğim.


sqlbaglantisi.cs sınıfımızdaki kodlar.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; //kütüphanelerimizi ekledik using MySql.Data; using MySql.Data.MySqlClient; namespace Market_Sistemi { public class sqlbaglantisi//class oluşturduk { public MySqlConnection baglan() // class içinde baglan adında fonksiyon oluşturduk { MySqlConnection baglanti = new MySqlConnection("Server=localhost;Database=market_sistemi;Uid=root;Pwd=;"); //bağlantı yolunu verdik baglanti.Open();//bağlantıyı açtık MySqlConnection.ClearPool(baglanti); MySqlConnection.ClearAllPools();//bundan önceki bağlantıları temizledik return (baglanti);//çağırıldığı yere bağlantıyı yolladık } } } |
Bu tür class oluşturmak sizi kod hamallığından kurtaracak , zaman kazandıracak ve daha sade bir proje oluşturmanıza olanak sağlayacaktır.
Bağlantımızı oluşturduğumuza göre örnek formda işlemlerimizi inceleyelim.
C# MYSQL EKLEME SİLME LİSTELEME VE GÜNCELLEŞTİRME İŞLEMLERİ

Örnek bi form oluşturdum müşteri ekle sil güncelle işlemleri yapacağız.
C# MYSQL Listeleme
Önce formumuzun uzayına gerekli kütüphanelerimizi ekliyoruz.
| //Kütüphanelerimizi Ekledik using MySql.Data; using MySql.Data.MySqlClient; |
Daha sonra Formumuzun global dediğimiz Kımına yani üst kısmına gerekli objeleri oluşturuyoruz.
| sqlbaglantisi bag = new sqlbaglantisi();//bağlantımız için classımızı oluşturuyoruz DataTable table = new DataTable();//bir adette datatable MySqlCommand kmt = new MySqlCommand();//işlemlerimiz içinde bir komut nesnesi |
Bunları global olarak girdik şimdi öncelikle Listeleme olayımızla başlayalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | public void musterim()//Müşterileri Listeleme fonksiyonu { TextBox1.Text = "";//textboxları doluysalar bi temizliyoruz TextBox2.Text = ""; TextBox3.Text = ""; TextBox4.Text = ""; TextBox5.Text = ""; TextBox6.Text = ""; table.Clear(); // tablomuzu bi temizliyoruz MySqlDataAdapter adtr = new MySqlDataAdapter(" Select * from musteri", bag.baglan()); adtr.Fill(table);//tablomuza dataadapter ile musterileri dolduruyoruz.//bag.baglan dedik bunun olayı şu //bag die bir nesne oluşturduk sqlbaglantisi classımızdan bunun içindeki baglan fonksiyonumuzu çekiyoruz.Biliyorsunuz bağlantı yolumuz burda DataGridView1.DataSource = table;//gridwiewe de doldurdumuz tabloya aktardık DataGridView1.RowHeadersVisible = false;//satır başlını kaybettik sevmiyorum kaba duruyor TextBox5.Text = DateTime.Now.ToShortDateString();//bugünün tarihini attık kayıt için kolaylık olur DataGridView1.Columns[0].Visible = false;//bazı gereksiz kısımları görünmez yaptık görüntü güzelleştirmek açısından "id şifre gibi." DataGridView1.MultiSelect = false;//birden fazla satır seçielemez DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect; // seçdiğimiz datagrid satırı tamamen satırca seçilmiş görülür } |
Burda kodları ne işe yaradıklarını açıklama satırı olarak ekledim.İsterseniz projenizin içine yapıştırarak daha rahat görebilirsiniz.Şimdi Tablomuzdakileri form load olayına yazarak listeyelelim.Bunun için formun boş bi yerine çift tıklayıp load kısmına musterim(); yapiştırabilir yada formumuzun event kısmına girip burada load olayını bulup içine girip bunu yapıştırabilirsiniz örnek olarak aşşağıda vereceğim.
| private void musteri_Load(object sender, EventArgs e) { musterim(); } |
Tamam C# Mysql Listeleme olayı bu kadar ????
C# MYSQL EKLEME İŞLEMİ
Sırada ekleme işlemimiz var.Bu çok basit normal access gibi sql servere eklediğimiz gibi sade bir command içine sql sorgumuzu yazmamız yeterli.
| private void Button1_Click(object sender, EventArgs e) { kmt.Connection = bag.baglan();//bağlantı yolunu verdik kmt.CommandText = ((((("INSERT INTO musteri(tc,adsoyad,numara,eposta,uyetarih,adres) VALUES ('" + TextBox1.Text + "','") + TextBox2.Text + "','") + TextBox3.Text + "','") + TextBox4.Text + "','") + TextBox5.Text + "','") + TextBox6.Text + "')"; //komut textini girdik kmt.ExecuteNonQuery(); //global olarak tanımladımız mysqlcommand kmt nesnesini çalıştırdık MessageBox.Show("Kayıt İşlemi Başarılı"); //kayıt başarılı mesajını verip musterim(); //tekrar listeleme işlemini yaptık } |
C# MYSQL GÜNCELLEME İŞLEMİ
Bu konudan önce şunu yapmamız lazım datagridview Cell_Click eventine şu kodları yazarak seçtiğimiz verilerin textboxlara çekme işlemini yapalım.
| private void DataGridView1_CellClick(object sender, DataGridViewCellEventArgs e) { TextBox1.Text = DataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString(); TextBox2.Text = DataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString(); TextBox3.Text = DataGridView1.Rows[e.RowIndex].Cells[3].Value.ToString(); TextBox4.Text = DataGridView1.Rows[e.RowIndex].Cells[4].Value.ToString(); TextBox5.Text = DataGridView1.Rows[e.RowIndex].Cells[5].Value.ToString(); TextBox6.Text = DataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString(); } |
Şimdi tekrardan çok bi uğraşmadan güncelleme kodlarına geçiyoruz.
| private void Button3_Click(object sender, EventArgs e) { kmt.Connection = bag.baglan(); kmt.CommandText = "UPDATE musteri SET tc='" + TextBox1.Text + "' , adsoyad='" + TextBox2.Text + "',numara='" + TextBox3.Text + "',eposta='" + TextBox4.Text + "',uyetarih='" + TextBox5.Text + "',adres='" + TextBox6.Text + "' where id='" + DataGridView1.CurrentRow.Cells["id"].Value.ToString() + "'"; kmt.ExecuteNonQuery(); kmt.Dispose(); MessageBox.Show("Güncelleme İşlemi Başarılı"); musterim(); } |
Tekrardan bağlantı açtık , güncelleme kodunu yazdık sql sonra çalıştırıp mesajımızı verdik.
Bu kadar.
C# MYSQL SİLME İŞLEMİ
| private void Button2_Click(object sender, EventArgs e) { kmt.Connection = bag.baglan(); kmt.CommandText = "DELETE FROM musteri WHERE id = '" + DataGridView1.CurrentRow.Cells["id"].Value.ToString() + "'"; kmt.ExecuteNonQuery(); MessageBox.Show("Silme İşlemi Başarılı"); musterim(); } |
Silme ve güncelleme işlemlerimizde anahtar olan şeyi unutmayalım.Hangisi silincek yada hangisi güncellenecek bunu kullanıcının gridwiewde seçtiği verinin idsini belirliyor bunun dışı kodlar yukarıdaki kadar basit.