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.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. public void Form1_Load(object sender, EventArgs e)
{
try {
ptdb.Open();
}
catch
MessageBox.Show("Veritabanı bağlantısı sağlanamadı!", "Veritabanı Uyarısı!");
}
}
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.if (ptdb.State != ConnectionState.Closed)
{
MessageBox.Show("Bağlantı Başarılı!");
}