如果声明没有检查条件

时间:2012-05-19 16:57:13

标签: c# if-statement

我的如果由于某种原因在下面检查第一个但不是第二个条件。

第一个是针对db检查user / passwd,第二个是硬代码用户和passowrd。

当我输入硬编码的user / passwd时,它不会让我通过,只使用db user / passwd。

知道出了什么问题吗?

if ((userTxt == userDB && passwdTxt == passwdDB) ||
    (userTxt == "user" && passwdTxt == "test"))
{
    switch (frmMdiMain.loginPageText)
    {
        case "exit":
            mainPage.Hide();
            Application.Exit();
            break;
        case "internal":
            mdiInternalUse internUseForm = new mdiInternalUse();
            internUseForm.Show();
            this.Close();
            break;
        default:
            break;
    }
}

1 个答案:

答案 0 :(得分:0)

如果没有您正在使用的语言,很难回答,但我认为问题是userTxtpasswdTxt的值与不同于{{1}的对象的对象进行比较}和"user"

例如,在"test"的C / C ++中,userTxt是指向char的指针,它将具有与“用户”不同的地址。

在java中,保存StringuserTxt值的"user"对象也可能不同。

您需要对字符串执行正确的比较(例如,在C中使用strcmp(),在C ++中使用sts::string,在java中使用userTxt.compare("user")