【发布时间】:2012-05-19 16:57:13
【问题描述】:
我的 if 下面出于某种原因检查第一个但不检查第二个条件。
第一个是根据数据库检查用户/密码,第二个是硬编码用户和密码。
当我输入硬编码的用户/密码时,它不让我通过,只使用数据库用户/密码。
知道有什么问题吗?
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;
}
}
【问题讨论】:
-
请在您的问题中添加相关语言标签。
-
您使用的输入法是否有可能给出
userTxt和/或passwdTxt,在末尾包含换行符/回车符? -
我也会建议更多的上下文。这些值的类型是什么?中间的开关与您的问题无关,可以去掉。
-
如果是 Java(看起来),试试
"user".equals(userTxt)&&"test".equals(passwdTxt)(见 How do I compare strings in Java?)。
标签: c# if-statement