Anasayfa / Bilgisayar Mühendisliği / C# ile Mysql İşlemleri

C# ile Mysql İşlemleri

Bugün ki dersimizde Mysql veritabanı kullanarak ekleme, silme, güncelleme işlemi yapacağız. Yani CrUD işlemi 🙂 Öncelikle deneme adında bir veritabanı oluşturuyoruz. Bu veritabanının içine person isminde tablomuzu da oluşturuyoruz. Şimdi ise aşağıdaki alanları yaratalım.

deneme tablosu

Bu işlemleri yaptıktan sonra, ilk yapmamız gerekenin Mysql veritabanına bağlanmaktır. Benim bilgisayarımda kurulu olan MySql servisi 3306 portunu kullanan, kullanıcı adı ve şifresi root olan bir servistir. Sizde bu durum farklı olabilir. Aşağıdaki kodları kendinize göre şekillendirebilirsiniz.

Şimdi bağlantı adlı sınıfımızı yaratalım.

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using MySql.Data.MySqlClient;

namespace VeriTabaniBaglantisi.Baglanti
 {

class baglanti
 {
 public MySqlConnection connection { get; set; }
 private string server { get; set; }
 private string database{ get; set; }
 private string username { get; set; }
 private string password { get; set; }
 private string a;

public baglanti()
 {
 baglan();
 }
 public void baglan()
 {
 server = "localhost";
 database = "deneme";
 username = "root";
 password = "root";
 string connectionString = "SERVER=" + server + ";" + "DATABASE=" +
 database + ";" + "UID=" + username + ";" + "PASSWORD=" + password + ";";
 connection = new MySqlConnection(connectionString);

}
 public bool OpenConnection()
 {
 try
 {
 connection.Open();
 return true;
 }
 catch (MySqlException ex)
 {

switch (ex.Number)
 {
 case 0:
 Console.WriteLine("Bağlantı sağlanamadı");
 break;

case 1045:
 Console.WriteLine("geçersiz kullanıcı adı ya da şifre");
 break;
 }
 return false;
 }
 }

public bool CloseConnection()
 {
 try
 {
 connection.Close();
 return true;
 }
 catch (MySqlException e)
 {
 return false;
 }
 }

}
 }
 

Görüldüğü üzere gayet basit ve anlamlı bir şekilde veritabanı bağlantımızı kurduk. Şimdi ise, person tablosu için get, set metotlarıyla beraber sınıfımızı yazalım.

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;

namespace VeriTabaniBaglantisi.Beans
 {
 class person
 {
 public int id {get; set;}
 public string p_adi { get; set; }
 public string p_soyadi { get; set; }
 public string p_tel {get; set;}
 public string p_gorev { get; set; }

}
 }

Şimdi ise formumuzu oluşturarak görsel yapımızı tamamlayalım.

c# form

Daha sonra person eklemek, silmek ve güncellemek için aşağıdaki komutları yazalım.

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using VeriTabaniBaglantisi.Beans;
 using VeriTabaniBaglantisi.Baglanti;
 using MySql.Data;
 using MySql;
 using MySql.Data.MySqlClient;
 namespace VeriTabaniBaglantisi.Islemler
 {
 class PersonIslemler
 {
 public void ekle(String adi, String soyadi, String tel, String gorev)
 {
 string query = "INSERT INTO person (p_adi, p_soyadi,p_tel,p_gorev) VALUES(@ad, @soyad, @tel , @gorev)";
 baglanti b = new baglanti();

if (b.OpenConnection() == true)
 {

MySqlCommand cmd = new MySqlCommand(query, b.connection);
 cmd.Parameters.AddWithValue("@ad", adi);
 cmd.Parameters.AddWithValue("@soyad", soyadi);
 cmd.Parameters.AddWithValue("@tel", tel);
 cmd.Parameters.AddWithValue("@gorev", gorev);
 cmd.ExecuteNonQuery();

}
 }
 public void sil(string adi, string soyadi)
 {
 string query = "DELETE FROM person WHERE [email protected] and [email protected] ";
 baglanti b = new baglanti();

if (b.OpenConnection() == true)
 {

MySqlCommand cmd = new MySqlCommand(query, b.connection);
 cmd.Parameters.AddWithValue("@ad", adi);
 cmd.Parameters.AddWithValue("@soyad", soyadi);
 cmd.ExecuteNonQuery();

}
 }

public void guncelle(string adi, string soyadi, string yeniadi, string yenisoyadi)
 {
 string query = "UPDATE person SET [email protected], [email protected] WHERE [email protected] and [email protected]";
 baglanti b = new baglanti();

if (b.OpenConnection() == true)
 {

MySqlCommand cmd = new MySqlCommand(query, b.connection);
 cmd.Parameters.AddWithValue("@yeniad", yeniadi);
 cmd.Parameters.AddWithValue("@yenisoyad", yenisoyadi);
 cmd.Parameters.AddWithValue("@ad", adi);
 cmd.Parameters.AddWithValue("@soyad", soyadi);
 cmd.ExecuteNonQuery();
 }
 }

}
 }

Daha sonra butonlara görev vermek adına aşağıdaki komutları yazalım.

using System;
 using System.Collections.Generic;
 using System.ComponentModel;
 using System.Data;
 using System.Drawing;
 using System.Linq;
 using System.Text;
 using System.Windows.Forms;
 using VeriTabaniBaglantisi.Baglanti;
 using VeriTabaniBaglantisi.Islemler;

namespace VeriTabaniBaglantisi
 {
 public partial class Form1 : Form
 {
 public Form1()
 {
 InitializeComponent();
 }

private void button1_Click(object sender, EventArgs e)
 {
 baglanti b = new baglanti();
 Console.WriteLine(b.OpenConnection());
 PersonIslemler p = new PersonIslemler();
 p.ekle(textBox1.Text, textBox2.Text, textBox3.Text, textBox4.Text);

}

private void button2_Click(object sender, EventArgs e)
 {
 baglanti b = new baglanti();
 Console.WriteLine(b.OpenConnection());
 PersonIslemler p = new PersonIslemler();
 p.sil(textBox1.Text, textBox2.Text);
 }

private void button3_Click(object sender, EventArgs e)
 {
 baglanti b = new baglanti();
 Console.WriteLine(b.OpenConnection());
 PersonIslemler p = new PersonIslemler();
 p.guncelle(textBox1.Text, textBox2.Text,textBox5.Text, textBox6.Text);
 }
 }
 }

Daha sonra Formumuzu ilk çalıştıracak şekilde projemizi ayarladıktan sonra Projemizi çalıştıralım.

Önce ekleme işlemi yapalım.

C# guncelleme 1

C# ekleme 2

c# ekleme 3

Daha sonra güncelleme işlemi yapalım

C# guncelleme 1

C# guncelleme 2

C# guncelleme 3

Daha sonra silme işlemi yapalım.

c# silme 1

C# silme 2

c# silme 3

Görüldüğü üzere gayet basit bir şekilde ekleme, güncelleme, silme işlemleri yapılabilmektedir.

Hakkında Ali Demirci

Ben Ali Demirci... 1991 Ankara doğumluyum. Ankara da yaşıyorum. Fırsat buldukça öğrendiklerimi burada paylaşıyorum. Java ile haşır neşirim. Android'den asla vazgeçemem. Öğrenmeye bayılırım. Yeni şeyler öğrendiğimde, geçmişteki projelerimde keşke böyle yapsaydım diye çok üzülmüşümdür. O yüzden öğrenmekten korkmayın. Takıldığınız yerleri mutlaka sorun. Biliyorsam yanıt veririm. Bilmiyorsam yol gösteririm. Teşekkürler :)

Kontrol Et

Regex Nedir? Nasıl Kullanılır?

Regex(Regular Expression) yani düzenli ifadeler, metinlerde aranan bir tümceyi kolayca bulmamızı sağlayan bir çeşit algoritmadır. Yani …

Bir Yorum

  1. Mustafa Kalam

    hocam çok iyi bir kod yazmışsınız ama datagridview da görüntüleyemiyorum çünkü datasource da bir sıkıntı oluyor lütfen bu konuda bana yardımcı olur musun? Grid di datasource tanıtma kodunu paylaşır mısınız?