C# ile Local Mysql Veritabanı Bağlantısı
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.
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
Bunlara da Göz Atmak İsteyebilirsiniz.
<<< Önceki: Kırmızı – Siyah Ağaç Yapıları ( Red – Black Trees) C Kodu
Sonraki: Breadth First Search ve Depth First Search Algoritmaları >>>
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!