Son Eklenenler

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 p_adi=@ad and p_soyadi=@soyad ";
 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 p_adi=@yeniad, p_soyadi=@yenisoyad WHERE p_adi=@ad and p_soyadi=@soyad";
 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

1991 Ankara doğumluyum. Bilgisayar Mühendisliği bölümü 2013 mezunuyum. Bilgilerimi paylaşarak, belki birilerine yararım dokunur düşüncesiyle bu sitede yazarlık yapıyorum. Her türlü soru(n)larınızı bana sorabilir, ben de elimden geldiği kadarıyla yardımcı olmaya çalışırım.

Cevapla

E-posta adresiniz yayınlanmayacak. Required fields are marked *

*

CAPTCHA (Şahıs Denetim Kodu) Resmi
Resmi Yenile

*

Şu HTML etiketlerini ve özelliklerini kullanabilirsiniz: