Anasayfa » Csharp

C# ile Local Mysql Veritabanı Bağlantısı

16 Aralık 2011 8.135 kez okundu Bir yorum
1 Star2 Stars3 Stars4 Stars5 Stars (3 oy,5 üzerinden : 4,33 )
Loading ... Loading ...

Bu yazımda c# uygulamaları ile mysql veritabanlarının nasıl kullanıldığını gösteren bir kaç komut yazacağım. C# ile mysql veritabanı kullanan uygulamalar yazabilmek için bazı ayarlar yapmaya ihtiyaç vardır. Bu ayarları ve gerekli programları daha önceki yazılarımda anlatmıştım . Buradan  o ayarlara ve programlara ulaşabilirsiniz.

Bugünkü yazımda ise localhost kullanacağız. Localde mysql kullanmak için mysql i bilgisayarınıza kurmanız gerekmektedir. Ben wampserver kullanarak  bu sorunu hallettim. Kod üzerinde geçerli açıklamaları yaptım.

Form application yaptığımız için ekran görüntüsü üzerinde hangi elemanların hangi name ler ile kullanıldığını yazdım.

?View Code CSHARP
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 MySql.Data;
using MySql.Data.MySqlClient;
 
namespace form_application
{
    public partial class Form1 : Form
    {
        public MySqlConnection cnn;
 
        public Form1()
        {
            InitializeComponent();
        }
 
        private void btnConnect_Click(object sender, EventArgs e)//Bağlan butonumuz
        {
            String conString = String.Format("server={0}; user id={1};password={2}", txtSunucu.Text, txtUserName.Text, txtPassword.Text);//Bağlantı bilgilerimiz
            cnn = new MySqlConnection(conString);//Bağlantı komutumuz
            try
            {
                cnn.Open();//Bağlantımı açıyoruz
 
                getDatabases(cnn);//Databaseleri çekeceğimiz fonksiyon
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
        void getDatabases(MySqlConnection cnn)//database alanını dolduruyoruz
        {
            drpDataBase.Items.Clear();//Öncelikle dropdown menümüzü temizliyoruz
            try
            {
                MySqlCommand cmd = new MySqlCommand("Show databases", cnn);//TÜm database leri çekiyoruz
                MySqlDataReader reader = cmd.ExecuteReader();//İşlemi gerçekleştirip reader değişkenine atıyoruz
                while (reader.Read())//reader değişkenindeki her sonucu sırasıyla döndürüyoruz
                {
                    drpDataBase.Items.Add(reader.GetString(0));//reader değişkeninden dönenleri dropdown menümüze ekliyoruz
                }
                reader.Close();//reader bağlantısını kapatıyoruz
 
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
 
        private void drpDataBase_SelectedIndexChanged(object sender, EventArgs e)//Tablolar dropdown menüsünü dolduruyoruz
        {
            drpTables.Items.Clear();//Öncelikle table dropdown menümüzü boşaltıyoruz.
            try
            {
                cnn.ChangeDatabase(drpDataBase.SelectedItem.ToString());//Database dropdown menüsünden seçilen database e göre işlem yapılacak aktif databasi değiştiriyoruz
                MySqlCommand cmd = new MySqlCommand("Show tables", cnn);//Komutumuzu atıyoruz, böylece tüm tabloları çekeceğiz
                MySqlDataReader reader = cmd.ExecuteReader();//Komutumuzu çalıştırıyoruz
                while (reader.Read())//Dönen değerleri sırasıyla çekeceğiz
                {
                    drpTables.Items.Add(reader.GetString(0));//dönen her bir tabloyu tablolar dropdown menüsüne ekliyoruz
                }
                reader.Close();
 
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
        }
 
        private void drpTables_SelectedIndexChanged(object sender, EventArgs e)
        {
            DataTable data = new DataTable(); // Yeni table değişkeni oluşturuyoruz
            MySqlDataAdapter dataAdaptor = new MySqlDataAdapter("SELECT * FROM " +  drpTables.SelectedItem.ToString(), cnn);//adaptor aracılığı ile sql komutumuz çalıştırıyoruz
            MySqlCommandBuilder mysqlCommandBuilder = new MySqlCommandBuilder(dataAdaptor);
            dataAdaptor.Fill(data);//data değişkenimizi dataadaptorden dönen değerler ile dolduruyoruz.
            grdData.DataSource = data;//data değişkenindeki tüm değerleri gridview e aktarıyoruz.
        }
    }
}

Örnek çalışma görüntüsü şu şekildedir

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

Bir yorum »

  • Serdar dedi ki:

    Açıkçası çok güzel bir bağlantı örneği. Nedeni ise yazılırken belirli bir server’a bağlı değil tamamen arayüz üstünden değiştirilebiliyor olması. Eğer elinizde dosyası mevcutsa ve paylaşabilirseniz çok sevinirim.

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.