1

我试图通过处理异常来使我的应用程序更好。我有一个表单,如果所有字段都没有完成,那么会向用户显示一个消息框。以下是我尝试过的,但即使所有字段都已完成,它仍然不会让我通过。

if (textBox1.Text == null || comboBox3.SelectedValue == null || 
    comboBox4.SelectedValue == null || 
    comboBox5.SelectedValue == null || comboBox8.SelectedValue == null)
{
    MessageBox.Show("Please make sure you don't have any missing fields");
}
else
{
    connection.Open();

    //update the settings to the database table 
    MySqlCommand command = connection.CreateCommand();
    // Insert into table_name values ("","name","1")
    command.CommandText = @"insert into CustomTests values ('','" + textBox1.Text + "'," + Convert.ToBoolean(checkBox1.CheckState) + ",'" + comboBox3.Text + "'," + comboBox4.Text + "," + comboBox5.Text + ",'" + comboBox8.Text + "'," + comboBox2.Text + "," + Timer_Enabled + ",'" + comboBox1.Text + "')";

    command.ExecuteNonQuery();
}
4

4 回答 4

3

你可以试试这个:

if (string.IsNullOrEmpty(textBox1.Text) || comboBox3.SelectedIndex == -1 || comboBox4.SelectedIndex == -1 ||
     comboBox5.SelectedIndex == -1 || comboBox8.SelectedIndex == -1)
 {
     MessageBox.Show("Please make sure you don't have any missing fields");
 }
 else
 {
     connection.Open();

     //update the settings to the database table 
     MySqlCommand command = connection.CreateCommand();
     // Insert into table_name values ("","name","1")
     command.CommandText = @"insert into CustomTests values ('','" + textBox1.Text + "'," + Convert.ToBoolean(checkBox1.CheckState) + ",'" + comboBox3.Text + "'," + comboBox4.Text + "," + comboBox5.Text + ",'" + comboBox8.Text + "'," + comboBox2.Text + "," + Timer_Enabled + ",'" + comboBox1.Text + "')";

     command.ExecuteNonQuery();
 }
于 2013-05-06T17:18:08.313 回答
1

TextBox 的Text值设置为空字符串“”,而不是null. 接下来,我将不使用 ComboBox.SelectedValue,而是使用 ComboBox.SelectedIndex 并检查它是否不是 -1(如果未选择任何内容,则为默认值)。

 if (textBox1.Text == "" || comboBox3.SelectedIndex == -1 
     || comboBox4.SelectedIndex == -1 || comboBox5.SelectedIndex == -1 
     || comboBox8.SelectedIndex == -1)
于 2013-05-06T17:14:53.423 回答
0

你也可以试试这个....

if (string.IsNullOrEmpty(textBox1.Text) || string.IsNullOrEmpty(this.comboBox3.Text) || string.IsNullOrEmpty(this.comboBox4.Text) ||
     string.IsNullOrEmpty(this.comboBoxSelect5.Text)|| string.IsNullOrEmpty(this.comboBox8.Text))
于 2014-03-11T11:19:18.627 回答
0

不要检查它是否为空。检查文本长度是否大于0

于 2013-05-06T17:10:06.583 回答