C# Forms'ta kodlardaki hata nedir?

imamparator61

Picopat
Katılım
12 Ekim 2024
Mesajlar
623
Çözümler
4
Daha fazla  
Cinsiyet
Erkek
Kod:
        private void button4_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Eklediğiniz Tüm Öğrencileri Silmek İstediğinizden Eminmisiniz?", "Bilgi", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (DialogResult==DialogResult.Yes)
            {
                try
                {
                    string sql = "DELETE FROM ogrenciler";
                    cmd = new MySqlCommand(sql, con);
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();
                    ogrenci();
                    MessageBox.Show("Eklediğiniz Tüm Öğrenciler Başarıyla Silindi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                /*
                finally
                {
                    con.Close();
                    textBox1.Text = null;
                    textBox2.Text = null;
                    textBox3.Text = null;
                }
                */
            }
            else if (DialogResult == DialogResult.No)
            {
                MessageBox.Show("İşlem İptal Edildi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

        }

Dostlar kodlarım bunlar, yes ve no tuşlarına bastığımda hiçbir hata mesajı vermiyor ve çalışmıyor. Sorun nedir acaba?
 
Kodunuzda dialogresult kontrolünü yanlış yapıyorsunuz. MessageBox.Show() metodunun dönüş değeri DialogResult tipindedir, ancak siz onu bir değişkene atamadan if bloğunda doğrudan kontrol ediyorsunuz. if (DialogResult == DialogResult.Yes)
Burada dialogresult bir değişken değil, formun bir özelliği olduğu için doğrudan kullanamazsınız. Bunun yerine MessageBox.Show() dönüş değerini bir değişkene atayıp onu kontrol etmelisiniz.
Bu şekilde düzelttiğinizde kodunuz düzgün çalışacaktır.
 
Kod:
        private void button4_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Eklediğiniz Tüm Öğrencileri Silmek İstediğinizden Eminmisiniz?", "Bilgi", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (DialogResult==DialogResult.Yes)
            {
                try
                {
                    string sql = "DELETE FROM ogrenciler";
                    cmd = new MySqlCommand(sql, con);
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();
                    ogrenci();
                    MessageBox.Show("Eklediğiniz Tüm Öğrenciler Başarıyla Silindi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                /*
                finally
                {
                    con.Close();
                    textBox1.Text = null;
                    textBox2.Text = null;
                    textBox3.Text = null;
                }
                */
            }
            else if (DialogResult == DialogResult.No)
            {
                MessageBox.Show("İşlem İptal Edildi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

        }

Dostlar kodlarım bunlar, yes ve no tuşlarına bastığımda hiçbir hata mesajı vermiyor ve çalışmıyor. Sorun nedir acaba?
MessageBox'ın sonucunı DialogResult'a atamıyorsunuz. Kontrol ettiği DialogResult, formun özelliği. MessageBox'ın sonucunu bir değişkene atayıp onu kontrol edin.
 
Kod:
        private void button4_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Eklediğiniz Tüm Öğrencileri Silmek İstediğinizden Eminmisiniz?", "Bilgi", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (DialogResult==DialogResult.Yes)
            {
                try
                {
                    string sql = "DELETE FROM ogrenciler";
                    cmd = new MySqlCommand(sql, con);
                    con.Open();
                    cmd.ExecuteNonQuery();
                    con.Close();
                    ogrenci();
                    MessageBox.Show("Eklediğiniz Tüm Öğrenciler Başarıyla Silindi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                /*
                finally
                {
                    con.Close();
                    textBox1.Text = null;
                    textBox2.Text = null;
                    textBox3.Text = null;
                }
                */
            }
            else if (DialogResult == DialogResult.No)
            {
                MessageBox.Show("İşlem İptal Edildi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

        }

Dostlar kodlarım bunlar, yes ve no tuşlarına bastığımda hiçbir hata mesajı vermiyor ve çalışmıyor. Sorun nedir acaba?
Merhaba,

Kodunuzdaki sorunu inceledim ve DialogResult değişkeninin nasıl kullanılacağı konusunda küçük bir düzeltme yaptım. İşte düzeltilmiş kodunuz:

private void button4_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("Eklediğiniz Tüm Öğrencileri Silmek İstediğinizden Emin misiniz?", "Bilgi", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (result == DialogResult.Yes)
{
try
{
string sql = "DELETE FROM ogrenciler";
cmd = new MySqlCommand(sql, con);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
ogrenci();
MessageBox.Show("Eklediğiniz Tüm Öğrenciler Başarıyla Silindi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
con.Close();
textBox1.Text = null;
textBox2.Text = null;
textBox3.Text = null;
}
}
else if (result == DialogResult.No)
{
MessageBox.Show("İşlem İptal Edildi", "Bilgi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
 

Technopat Haberler

Yeni konular

Geri
Yukarı