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.
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.
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(); }
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.
English: https://niyazi.net/en/running-a-query-in-c-database
Muhammed Niyazi ALPAY - Cryptograph
Senior Software Developer & Senior Linux System Administrator
Meraklı
PHP MySQL MongoDB Python Linux Cyber Security
Hiç yorum yok