为什么我的代码无法读取if语句中的下一个条件?
MySqlCommand cmd = new MySqlCommand("Select * from admin where Username='" + txtuser.Text + "' and Password='" + txtpass.Text + "' ", con);
dr = cmd.ExecuteReader();
if (dr.Read())
{
if (txtuser.Text == dr["Username"].ToString() && txtpass.Text == dr["Password"].ToString())
{
this.Hide();
Form f1 = new Form1();
f1.Show();
}
else if (txtuser.Text != dr["Username"].ToString() && txtpass.Text == dr["Password"].ToString())
{
MessageBox.Show("Incorrect Username!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
clear();
}
else if (txtuser.Text == dr["Username"].ToString() && txtpass.Text != dr["Password"].ToString())
{
MessageBox.Show("Incorrect Password!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
clear();
}
else if (txtuser.Text == "" & txtpass.Text == "")
{
MessageBox.Show("Please Enter Username and Password!", "Message", MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
else if (txtuser.Text == "" && txtpass.Text != "")
{
MessageBox.Show("Please Enter Username!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
clear();
}
else if (txtuser.Text != "" && txtpass.Text == "")
{
MessageBox.Show("Please Enter Password!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error);
clear();
}
else if (txtuser.Text != dr["Username"].ToString() && txtpass.Text != dr["Password"].ToString())
{
MessageBox.Show("Incorrect Username and Password!", "Message", MessageBoxButtons.OK,
MessageBoxIcon.Error);
clear();
}
}
答案 0 :(得分:-3)
在C#中&&条件的情况下,如果第一个条件为假,则下一个条件将不被验证