• Ana Sayfa
  • C#
  • C# Mysql Bağlantısı || Ekle || Sil || Güncelle Resimli Anlatım – Kaynak Kodlar

C# Mysql Bağlantısı || Ekle || Sil || Güncelle Resimli Anlatım – Kaynak Kodlar

 C# Mysql Bağlantısı || Ekle ||  Sil ||  Güncelle  Resimli Anlatım – Kaynak Kodlar
Okunuyor C# Mysql Bağlantısı || Ekle || Sil || Güncelle Resimli Anlatım – Kaynak Kodlar

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

ADD- Referance 
diyoruz.

c#mysql

[ads1]

Evet arkadaşlar bu yöntemle istediğiniz dll projenize referans olarak ekleyebilirsiniz.Biz mysqldata.dll bulup ekle diyoruz sizde farklı bir konumda olabilir.

c#mysqldllekleme

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.

c#mysqlaktifetme

[ads1]

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

localhost/phpmyadmin/
  yazıp enterlıyoruz.

c#phpmyadmin

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.

c#phpmyadminadım2

[ads1]

Şimdi çalışma yapabilmemiz için veritabanı oluşturmalıyız.

  1. İlk Adım olarak Yeni kısmına basıyoruz.Sağtaraftaki alan geliyor.
  2. İkinci olarak veritabanı ismini seçiyoruz
  3. Üçüncü olarak karakter seçeneğini seçiyoruz
  4. 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.

Standard

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.

add_class_csharp

[ads1]

c#sqlbaglantisi

sqlbaglantisi.cs sınıfımızdaki kodlar.

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İ

musteri

[ads1]

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

  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 🙂

[ads1]

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.

[ads1]

Konumuz bu kadar arkadaşlar aklınıza takılan birşey aldığınız bir hata vesairi bi durumda yorum yapın lütfen en kısa sürede dönüş olacaktır.

Diğer yazılım makalelerimiz için

Facebook Grubumuz İçin Tıklayın

Yapılan Yorumlar
  • Avatar for Selin Selin dedi ki:

    Çok güzel olmuş eline sağlık

  • Avatar for oğulcan oğulcan dedi ki:

    mysql.data.dll yok bende wampserver kullanıyorum ama yok

  • Avatar for dsfsdf dsfsdf dedi ki:

    ssizin yapacağınız anlatımın beğenmedim

    • Avatar for Ramazan Şerif Ramazan Şerif dedi ki:

      Yorumun için Teşekkürler ! Sayende makaledeki resimlerin linklerinin kırıldığını anlayıp tekrar güncelledim !

  • Avatar for Semih Semih dedi ki:

    Eline sağlık çok güzel anlatmışsın

  • Avatar for selin selin dedi ki:

    çok güzel olmuş ellerinize sağlık ama hoca bize diyor ki bu sql işlemlerini class açıp oraya yazın form kısmına kod yzmayın diyor onu nasıl yapabilirm

  • Avatar for hasan yasar hasan yasar dedi ki:

    Visual studio ya hakim değilim. o yuzden Aşağıdaki kısmı formun neresine ekleyeceğiz anlayamadım.

    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”

    bir de DataTable nedir? forma nesne olarakmı ekliyoruz?

  • Avatar for hasan yasar hasan yasar dedi ki:

    Aşağıdaki kodları tam olarak nereye yazacağımızı anlamadım.

    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

    Acaba bu örneğin bitmiş hali dosya olarak alabilirmiyim?

  • Avatar for osas osas dedi ki:

    Yandex linki kırık

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.