Csharp İle Hosting Sunucusundaki Veritabanına (Phpmyadmin vs.) Bağlanma


Normal web yazılımı için açılan sunucularda (genellikle php kullanıldığı için linux işletim sistemlerine göre anlatacağım) veritabanı olmazsa olmazlardan. Veritabanının amacı sayfanızdaki veya istediğiniz bütün verileri depolayabilmenizi sağlamak. PHP dilinde kullanıldığı gibi aynı şekilde diğer programlama dillerinde de veritabanı bulunmaktadır. Aslında bütün programlama dillerinin ortak noktası veritabanıdır. Yani bu şu manaya geliyor veritabanı sayesinde bütün programlama dillerinin birbiri ile haberleşmesi mümkündür.

   Bu yazımda 'Visual Studio' üzerinde Csharp programlama dillinde linux hosting üzerinde açılan mysql veritabanına bağlanmayı göstereceğim. 
Kullanım detayları:
-Microsoft Visual Studio Community 2019
-.Net Masaüstü geliştirme paketi
-Csharp Form Projesi (.NET Framework)

Öncelikle projemizi oluşturalım:

Nuget paket yöneticisini açalım:

NuGeT Paket yöneticisinden 'Gözat' sekmesine tıklayıp arama kısmına 'mysql' yazın. Çıkan sonuçlarda 'Mysql.Data'yı panelin sağ kısmından yükleyin:

Daha sonra 'Mysql' bağlantımızı hangi formda kullanmak istiyorsak form'un kod yapısını açıyoruz (.cs):

using MySql.Data.MySqlClient;
kodunu en üstte kütüphane bölümüne ekleyelim. Bu 'mysql' nugetini formumuza çağırmaktadır.

'mysql' bağlantı komutlarını sayfamıza çağıralım:
private static string connectstring = "Server=192.174.22.225Port=3306;database=asd123;uid=asd123;Password=asd123321;charset=utf8";
MySqlConnection ptdb = new MySqlConnection(connectstring);
Bu komut satırı sadece veritabanına bağlantımızı hangi değişken üzerinde  yapacağımızı göstermektedir. 'ptdb' değişkeni artık bizim veritabanı bağlantı değişkenimizdir.

Form açıldığında veritabanı bağlantımızı açalım:
        public void Form1_Load(object sender, EventArgs e)
        {
            try { 
                ptdb.Open();
            }
            catch
                MessageBox.Show("Veritabanı bağlantısı sağlanamadı!", "Veritabanı Uyarısı!");
            }
        }

Veritabanından veri çekme işlemimiz ise şu şekildedir:
                sql = "SELECT * FROM english_keywords WHERE id=1";
                komut = new MySqlCommand(sql, ptdb);
                MySqlDataReader okunan_satir = komut.ExecuteReader();
                if (okunan_satir.Read())
                {
                    MessageBox.Show(okunan_satir[0].ToString());
                }
şeklinde kullanabilirsiniz. Fakat bu yazılımda veritabanı bağlantısını açtık ve öyle bıraktık. Her işlemden sonra bağlantıyı kapatıp açmanız gerekmektedir.

Ek olarak veritabanı bağlantısını aç olarak kullandık fakat siz veritabanı açmaya çalışırken veritabanınız zaten açıksa hata alacaksınız. Bunu kontrol etmek için gereken kod da aşşağıdadır:
if (ptdb.State != ConnectionState.Closed)
{
  MessageBox.Show("Bağlantı Başarılı!");
}

Burada 'ConnectionState.Closed' komutu kapalı değerine eşittir. 'ConnectionState.Open' değeri de veritabanı açık değerine eşittir. Bunları 1 veya 0 ile karıştırmayınız. Veritabanının durum değeri ile kıyaslama yapmaktadır.


Ziyaretçi, yorum yapılsın mı?
İsim:*
E-Mail:


[not-allow-comm]
[/not-allow-comm]

Dikkat!

Aşağıdaki bağlantıdaki makaleye göz atın.

Site Kuralları ve Engellenme Sonrası
İstatistik
File engine/modules/zpstats.php not found.
Sıkça Sorulan Sorular
Video Trafiği
Etiketlere göre ara