M. Niyazi Alpay
M. Niyazi Alpay
M. Niyazi Alpay

Çok küçük yaştan itibaren bilgisayar sistemleriyle ilgileniyorum ve 2005 yılından beri programlama ile uğraşıyorum, PHP, MySQL, Python, MongoDB ve Linux konularında bilgi sahibiyim

 

about.me/Cryptograph

  • admin@niyazi.org
C# Veritabanında Sorgu Çalıştırma

C# ta veritabanında sorgu çalıştırabilmemiz için SqlCommand komutunu kullanırız, ben örneğimize MySql üzerinden devam edeceğim için MySqlCommand komutunu kullanacağım.

Yeni bir windows form uygulaması başlatıp, iki buton bir de listview ekliyoruz. Butonun birine "Bilgileri Getir" diğerini "Bilgiyi Sil" isimlerini veriyoruz.
İlk önce veritabanı bağlantımızı yapmak için bağlantı komutlarımızı yapıp bağlantıyı açıyoruz.
 
MySqlConnection baglanti = new MySqlConnection("server=localhost; userid=root; password=root; database=cryptograph");

Bilgileri Getir ismini verdiğimiz butonun click olayına hata kontrol komutlarımızı kullanarak bağlantımızı açıyoruz ve veriler çekmek için gerekli komutlarımızı yazıyoruz.

try
{
       baglanti.Open();   
       MySqlCommand sorgu = new MySqlCommand("SELECT * FROM blog ORDER BY id DESC", baglanti);
       MySqlDataReader oku = sorgu.ExecuteReader();
       while (oku.Read())
       {
              listView1.Items.Add(oku["blog_baslik"].ToString());
       }
 }
 catch (Exception hata)
 {
       MessageBox.Show(hata.ToString(), "Hata");
}
finally
{
       baglanti.Close();
}   


MysqlCommand komutu ile sorgu isminde bir nesne tanımladık ve sql sorgumuzu belirtip hangi bağlantıyı kullanacağını belirttik.

SELECT * FROM blog ORDER BY id DESC sql sorgumuz, burada blog isimli tablodan verilerin id alanına gire tersten sıralanacak şekilde getirilmesini istedik.
MysqlDataReader ile bir data reader nesnesi oluşturduk, yani veritabanından bilgileri okuyacak olan nesne, oku isimli nesneye sorgu.ExecuteReader(); bu komut ile bilgiyi nereden okuyacağını belirttik, sorgu isimli nesneden alacak bilgiyi.
Daha sonra bunu döngüye sokarak listview içine ekledik veriyi. Try içerisinde gerçekleşen sorgular bittiğinde finally içerisindeki sorgu çalıştırılır, yani durum gerçekleşse de gerçekleşmese de en sonda yapılacak işlem burada belirtiliyor, burada veritabanı bağlantısını kapattık.
 
Şimdi Bilgiyi Sil isimli butonun click olayına şu komutları yazıyoruz:
try
{
   baglanti.Open();
   string blogbaslik = listView1.FocusedItem.Text.ToString();
   sorgu = new MySqlCommand("DELETE FROM blog WHERE blog_baslik='" + blogbaslik + "'", baglanti);
   try
   {
     sorgu.ExecuteNonQuery();
     MessageBox.Show(blogbaslik + "Bilgisi silindi");
     listView1.Items.Clear();
     try
     {
       MySqlCommand sorgu2 = new MySqlCommand("SELECT * FROM blog ORDER BY id DESC", baglanti);
       MySqlDataReader oku = sorgu2.ExecuteReader();
       while (oku.Read())
       {
         listView1.Items.Add(oku["blog_baslik"].ToString());
       }
     }
     catch (Exception hata)
     {
        MessageBox.Show(hata.ToString(), "Hata");
     }
   }
   catch (Exception hata)
   {
      MessageBox.Show(hata.ToString(), "Hata");
   }
}
catch (Exception hata)
{
   MessageBox.Show(hata.ToString(), "Hata");
}
finally
{
   baglanti.Close();
}


C# Veritabanında Sorgu Çalıştırma

Yine sorgu isminde bir nesne oluşturdum bu sefer veritabanından silme komutu olan DELETE * FROM komutunu kullandım, listeden seçilen başlık bilgisine göre veritabanından siliyoruz. string blogbaslik = ListView1.FocusedItem.Text.ToString(); komutu ile listview den seçilen bilgiyi string olarak alıyoruz ve sql sorgusunda yerine koyuyoruz.
Daha sonra listview üzerindeki herşeyi temizliyoruz ve yeniden bilgi çekiyoruz yoksa sildiğimiz öğe listview üzerinde hala durmaya devam eder, yani listview nesnesini yenilemiş oluyoruz, en son işlemde ise veritabanı bağlantısını kapatıyoruz.
Veritabanı ile ilgili diğer işlemlerinizide yine aynı komutlar aracılığıyla yapabilirsiniz.

Proje dosyasını buradan indirebilirsiniz.

Muhammed Niyazi ALPAY - Cryptograph

Senior Software Developer & Senior Linux System Administrator

Meraklı

PHP MySQL MongoDB Python Linux Cyber Security

Bunları da okumak isteyebilirsiniz

Hiç yorum yok

Yorum Bırakın

E-posta adresiniz yayınlanmayacaktır. Zorunlu alanlar * ile işaretlenmiştir