我不能让我的if else正常工作

本文关键字:常工作 工作 else 不能 我的 if | 更新日期: 2023-09-27 18:19:11

我目前正在做一个个人项目& &;我真的不明白为什么应用程序不告诉用户什么时候出了问题。

private void button1_Click(object sender, EventArgs e)
{
        if (connect.State == ConnectionState.Open)
        {
            MySqlCommand cmd = new MySqlCommand();
            cmd.Connection = connect;
            cmd.CommandText = "INSERT INTO USERS (Namn,Personnummer,Username,Password,accountid,Avtal,Startdatum) values(@parameter1,@parameter2,@parameter3,@parameter4,@parameter5,@parameter6,@parameter7)";
            cmd.Parameters.AddWithValue("@parameter1", (textBox1.Text));
            cmd.Parameters.AddWithValue("@parameter2", textBox2.Text);
            cmd.Parameters.AddWithValue("@parameter3", (textBox3.Text));
            cmd.Parameters.AddWithValue("@parameter4", (textBox4.Text));
            cmd.Parameters.AddWithValue("@parameter5", textBox5.Text);
            cmd.Parameters.AddWithValue("@parameter6", (textBox6.Text));
            cmd.Parameters.AddWithValue("@parameter7", (textBox7.Text));
            MySqlDataReader accessed = cmd.ExecuteReader();
            MessageBox.Show("Account created!");
        }
        else
        {
            MessageBox.Show("Something went wrong, could'nt establish a stable connection");
        }
}

就目前而言,如果无法启动稳定的连接,应用程序就会崩溃,并且不会告诉用户消息框部分

我不能让我的if else正常工作

 private void button1_Click(object sender, EventArgs e)
{
    try{
    if (connect.State == ConnectionState.Open)
    {
        MySqlCommand cmd = new MySqlCommand();
        cmd.Connection = connect;
        cmd.CommandText = "INSERT INTO USERS (Namn,Personnummer,Username,Password,accountid,Avtal,Startdatum) values(@parameter1,@parameter2,@parameter3,@parameter4,@parameter5,@parameter6,@parameter7)";
        cmd.Parameters.AddWithValue("@parameter1", (textBox1.Text));
        cmd.Parameters.AddWithValue("@parameter2", textBox2.Text);
        cmd.Parameters.AddWithValue("@parameter3", (textBox3.Text));
        cmd.Parameters.AddWithValue("@parameter4", (textBox4.Text));
        cmd.Parameters.AddWithValue("@parameter5", textBox5.Text);
        cmd.Parameters.AddWithValue("@parameter6", (textBox6.Text));
        cmd.Parameters.AddWithValue("@parameter7", (textBox7.Text));
        MySqlDataReader accessed = cmd.ExecuteReader();
        MessageBox.Show("Account created!");
    }
    else
    {
        MessageBox.Show("Something went wrong, could'nt establish a stable connection");
    }
  }
catch
{
      MessageBox.Show("Something went wrong, could'nt establish a stable connection");
}
}

您可以通过多种方式处理Catch。得到准确的误差。如:

try{}
catch(Exception ex)
{MessageBox.Show(ex.message);}

try catch的MSDN链接,您可以找到任何其他合适的方式。