29 Jul

C# ile MySql

ADO .NET in esnek ve becerikli yapısı Mysqlde işlem yaparken de bize kolaylık sağlamakta. Burada, yeni özelliklerinden dolayı (trigger,transaction,stored procedure vb) Mysql5 versiyonunu baz alarak anlatacağım. Bu arada mysql i indirip kurduğunuzu farz ederek anlatıyorum.
Mysql veritabanına bağlanabilmek ve üzerinde işlem yapabilmek için öncelikle .NET Connector ü indirip kurmanız gerekiyor.
Connectoru kurduktan sonra Visual Studioyu açarak bir Console uygulaması (MysqlTest) oluşturalım. Burada Mysql connectoru hangi klasöre kurduysanız, Visual Studio da Project>Add Reference den Browse ile o klasör içerisindeki “Mysql.Data.dll” i projeye eklemeniz gerekmekte. Daha sonra aşağıdaki kodları deneyebilirsiniz.


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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
using System.Collections.Generic;
using System.Text;
//mysql kütüphanelerimizi yüklüyoruz
using MySql.Data;
using MySql.Data.MySqlClient;
namespace MysqlTest
{
    class Program
    {
        MySqlConnection baglanti;   // bağlantı nesnemiz
        MySqlDataReader okuyucu; //  okuyucu nesnemiz
        MySqlCommand komut;     //    komut nesnemiz
        public Program()
        {
          baglanti = new MySqlConnection
("server=localhost;database=test;user=root;password=;");
        }

        public void basla()
        {
            Console.WriteLine("Mysql test uygulaması başlatıldı...");
            try
            {
                baglanti.Open();
                Console.WriteLine("Bağlantı açıldı...");
                Console.WriteLine("Veritabanları listeleniyor...");
                this.komutCalistir("show databases");

                Console.WriteLine("İşlem başarıyla tamamlandı...");
                Console.ReadLine();
            }
            catch (MySqlException myex)
            {
                Console.WriteLine("Veritabanına bağlanamadı.Hata sebebi:");
                Console.WriteLine(myex.Message);
                Console.ReadLine();
            }
        }

        public void komutCalistir(string komut)
        {
            this.komut = new MySqlCommand(komut, baglanti);
            okuyucu = this.komut.ExecuteReader();
            this.oku(okuyucu);
        }

        private void oku(MySqlDataReader sonuc)
        {
            try
            {
                while (sonuc.Read())
                {
                    Console.WriteLine(sonuc[0].ToString());
                }
                sonuc.Close();
            }
            catch (MySqlException me)
            {
                Console.WriteLine(me.Message);
            }
            finally
            {
                baglanti.Close();
            }
        }
        static void Main(string[] args)
        {
            Program Test = new Program();
            Test.basla();
        }
    }
}

Bu test uygulaması ile veritabanına bağlanarak veritabanlarını listelemekteyiz. Gördüğünüz gibi çok fazla çaba sarf etmeden Mysql üzerinde de rahatlıkla işlem yapabilmekteyiz. Tabi bunun en büyük rolü, başta da belirttiğim gibi ADO üstleniyor. Umarım bu kısa yazı C# ile Mysql giriş için iyi bir örnek olmuştur sizin için.