C# ve Mysql Bağlantısı

By gokhan, 27 Şubat 2017

Bu uygulamada yerel bilgisayarların dışında tüm internet kullanıcıları tarafından erişim sağlanabilecek bir veritabanı kullanarak otomasyonunuzun internet erişim ile verilerin kolay erişiminin sağlanmasını amaçlayan kod parçalarıdır.
Mysql, php tarafından sıklıkla kullanılan ücretsiz kurulum ve destekleriyle günümüzde oldukça popülerlşen bir veritabanıdır. Mysql ile C# arasında bağlantı kurmak için direk olarak Visual Studio tarafından verilen Frameworkler kullanılarak mümkün olmadığı için Mysql eklentisinin kurulması gerekmektedir. Eklentiyi aşağıdan indirerek bilgisayarınıza kurun. İnternetten bulabileceğiniz bir mysql sitesinden ücretsiz veritabanı edinin. Bu uygulamada freemysqlhosting.net sitesine üye olunarak alınan veritabanı kullanılmıştır.
mysql-connector-net-6.9.9

Örnek uygulama için oluşturulacak formu oluşturunuz.

[csharp]
using MySql.Data;
using MySql.Data.MySqlClient;
[/csharp]
Yukardaki şekilde kurduğumuz eklentinin kütüphanelerini projeye ekliyoruz.

[csharp]
MySqlConnection baglanti = new MySqlConnection("Server=sql11.freemysqlhosting.net;Database=sql11158418;Uid=sql11158418;Pwd=Şifree");
DataTable dt;
MySqlDataAdapter da;
private void Form1_Load(object sender, EventArgs e)
{
string komut = "select * from tablom";
da = new MySqlDataAdapter(komut, baglanti);
tabloyuDoldur();
DB _vt = new DB();

if (_vt.baglanti_kontrol() == true)
{
label1.Text = "Bağlantı kuruldu.";
}

else
{
label1.Text = "Hata !!!";
}
}

void tabloyuDoldur() // Anlık olarak verileri görüntülemek için
{
dt = new DataTable();

da.Fill(dt);
dataGridView1.DataSource = dt;
}
// Ekle Butonu
try
{
if (baglanti.State != ConnectionState.Open) baglanti.Open();
MySqlCommand ekle = new MySqlCommand("insert into tablom (ad,soyad,sehir) values (‘" + textBox1.Text + "’,’" + textBox2.Text + "’,’" + comboBox1.SelectedItem.ToString() + "’)", baglanti);
object sonuc = null;
sonuc = ekle.ExecuteNonQuery();
if (sonuc != null)
{
MessageBox.Show("Veritabanına başarıyla eklendi");
tabloyuDoldur();
}
else
{
MessageBox.Show("Veritabanına eklenemedi.");
baglanti.Close();
}
}
catch (Exception Hata)
{
MessageBox.Show("Hata: " + Hata.Message);
}
//Sil Butonu
try{
if(baglanti.State!=ConnectionState.Open) baglanti.Open();
MySqlCommand ekle = new MySqlCommand("DELETE FROM tablom WHERE ad=’" + textBox3.Text + "’", baglanti);
object sonuc = null;
sonuc = ekle.ExecuteNonQuery();
if (sonuc != null)
{
MessageBox.Show("Veritabanından başarıyla kaldırıldı.");
tabloyuDoldur();
}
else
{
MessageBox.Show("Veritabanından kaldırılamadı.");
baglanti.Close();
}
}
catch (Exception Hata)
{
MessageBox.Show("Hata: " + Hata.Message);
}

//Güncelle Butonu
try
{
if (baglanti.State != ConnectionState.Open) baglanti.Open();
MySqlCommand ekle = new MySqlCommand("UPDATE tablom SET ad=’"+textBox5.Text+"’ WHERE ad=’"+textBox4.Text+"’",baglanti);
object sonuc = null;
sonuc = ekle.ExecuteNonQuery();
if (sonuc != null)
{
MessageBox.Show("Veritabanında başarıyla güncellendi.");
tabloyuDoldur();
}
else
{
MessageBox.Show("Veritabanından güncellenemedi.");
baglanti.Close();
}
}
catch (Exception Hata)
{
MessageBox.Show("Hata: " + Hata.Message);
}
[/csharp]