在线等C#高手 来解答一个问题 80分求救!!!

private void btnLogin_Click(object sender, EventArgs e)
{
if (txtLoginld.Text == null||txtLoginld.Text=="")
{
MessageBox.Show("请输入用户名","提示",MessageBoxButtons.OK
,MessageBoxIcon.Information);
txtLoginld.Focus();
}
else if (txtLoginPwd.Text == null || txtLoginPwd.Text == "")
{
MessageBox.Show("请输入密码","提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
txtLoginPwd.Focus();
}
else if (cboLoginType.Text == null||cboLoginType.Text=="")
{
MessageBox.Show("请选择登陆类型","提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
cboLoginType.Focus();
}
bool end = false; //定义个bool值end
end = userpanduan(txtLoginld.Text,txtLoginPwd.Text,cboLoginType.Text);
if (end && cboLoginType.Text == "管理员")
{
Userhelper.loginId = txtLoginld.Text;//接受用户名
MySchool my = new MySchool();
my.Show();
}

else if ((txtLoginld.Text != null || txtLoginld.Text != "") && (txtLoginPwd.Text != null || txtLoginPwd.Text != ""))
{
MessageBox.Show("用户名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}

private bool userpanduan(string txtLoginld, string txtLoginpwd, string cboLoginType)
{
string constring = ("data source=.;initial catalog=myschool;user id=sa;pwd=123") ;
SqlConnection connection = new SqlConnection(constring);//接受登陆信息
try
{

string sql = string.Format("select count(*) from admin where LoginId='{0}' and LoginPwd='{1}'", txtLoginld, txtLoginpwd);
SqlCommand command = new SqlCommand(sql,connection);
connection.Open();//打开数据库

int num = (int)command.ExecuteScalar();// 接受返回一个数值
if (num >= 1)
{
return true;
}
else
{
return false;
}
}
catch
{
MessageBox.Show("发生末知错误!");
return false;
}
finally
{
connection.Close();//关闭数据库

}
}
我是这样想的 如果账号和错误 就显示对话框 用户名或密码错误!
但是我现在 没有填写 账号或密码 他也会显示出这个
但是我想让 用户忘记 输入账号和密码的时候 他不显示这个对话框,
如何实现呢
个人觉得 我写的也是正确的 不知道为什么还是出错?

private void btnLogin_Click(object sender, EventArgs e)
{
if (txtLoginId.Text.Trim() == "")
{
MessageBox.Show("请输入用户名", "登陆提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtLoginId.Focus();
}
else if (txtLoginPwd.Text.Trim() == "")
{
MessageBox.Show("请输入密码","登陆提示",MessageBoxButtons.OK,MessageBoxIcon.Exclamation);
txtLoginPwd.Focus();
}
else if(cboLoginType.Text=="")
{
MessageBox.Show("请选择登陆类型","登陆提示",MessageBoxButtons.OK,MessageBoxIcon.Error);
cboLoginType.Focus();

}

bool end = false;
end=validate(txtLoginId.Text,txtLoginPwd.Text,cboLoginType.Text);
if (end && cboLoginType.Text == "管理员")
{
UserHelper.LoginId = txtLoginId.Text;
teacher form1 = new teacher();
form1.Show();
this.Visible = false;//将当前窗口隐藏
}
else
{
MessageBox.Show("登陆名或密码错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

}
这样不就得了?
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-11-11
else if ((txtLoginld.Text != null || txtLoginld.Text != "") && (txtLoginPwd.Text != null || txtLoginPwd.Text != ""))

改成

else if ((txtLoginld.Text != null && txtLoginld.Text != "") && (txtLoginPwd.Text != null && txtLoginPwd.Text != ""))

你这段代码有得改,好好理理吧,不过直接的问题是上面,不过,那个else if根本就是多余。另外,txtLoginId.Text获得的始终是一个不为null的字串,所以你判断它是否为null,多余;要判断一个字串是否为空或者null,可以用string.IsNullOrEmpty(str)来判断,像你那样写,冗余。
第2个回答  2008-11-11
private void btnEnd_Click(object sender, EventArgs e)
{
bool adminBool = false;
string amg = "";
if (ValidateInput())
{
switch (cboType.Text)
{
case "管理员":
adminBool = AdminService.GetamdinService(txtName.Text, txtPaw.Text, out amg);
if (adminBool)
{
TOHelp.Title = "管理员";

AdminForm admin = new AdminForm();
admin.Show();
this.Visible = false;

}
else
{

MessageBox.Show(amg);
}
break;
case "教员":
TOHelp.Title = "教员";

MessageBox.Show("登陆是教员窗口");
break;
case "学员":
TOHelp.Title = "学员";

MessageBox.Show("登陆是学员窗口");
break;

default:
MessageBox.Show("未开通 ", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
break;

}

}

}

private bool ValidateInput()
{
if(txtName.Text.Trim() == "")
{
MessageBox.Show("请输入用户名", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtName.Focus();
return false;
}
else if (txtPaw.Text.Trim() == "")
{
MessageBox.Show("请输入密码", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
txtPaw.Focus();
return false;
}
else if (cboType.Text.Trim() == "")
{
MessageBox.Show("请选择登录类型", "登录提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
cboType.Focus();
return false;
}
else
{
return true;
}
}
public static class AdminService
{
public static bool GetamdinService(string access,string paw,out string amg)
{
DataTable dt = AdminAccess.GetAdminAccess(access);
amg = "登陆成功";
if (dt.Rows.Count == 0)
{
amg = "账号输错";
return false;

}
else
{
if (dt.Rows[0]["loginPwd"].ToString() != paw)
{
amg = "密码输错";
return false;

}

return true;
}

}

}
你看一下。和你所要的。一样。。这是我刚才写的。。。有啥不明白。给我留言。。
第3个回答  2008-11-11
if (txtLoginld.Text == null||txtLoginld.Text=="")
{
MessageBox.Show("请输入用户名","提示",MessageBoxButtons.OK
,MessageBoxIcon.Information);
txtLoginld.Focus();
}

你看一下你写的.就算他满足了你的条件还是会执行到下面去的.

你要加一个
f (txtLoginld.Text == null||txtLoginld.Text=="")
{
MessageBox.Show("请输入用户名","提示",MessageBoxButtons.OK
,MessageBoxIcon.Information);
txtLoginld.Focus();
return;
}

下面的也类似..都要加一个.
第4个回答  2008-11-12
按照你的思路 当全为空是 有相应的判断 而不是进行别的操作 不就可以了?
第5个回答  2008-11-12
你是北大青鸟的学生吧!

这题我都见过!

80分!c#高手进 为toolstripmenuItem添加keyPress事件
既然toolstripmenuItem里没有KeyPress事件,你添加一个有KeyPress事件的控件不就行了吗,比如添加一个RichTextBox、Label什么的,代码如下 RichTextBox richTextbox = new RichTextBox();private void button1_Click(object sender, EventArgs e){ richTextbox.Size = new Size(100, 100);richTextbox...

...看补充。谢谢了。80分希望能找到解答,感兴趣的互相学习
1:利用配置文件保存窗体的新加信息。每次打开窗体时先检查配置文件,读出按键信息并加到页面上;每新加按钮时,同时将对应按钮信息添加到配置文件。注:按钮信息包含名称、位置坐标、响应事件等(你的例子好像只要个数就够了)。2:可以让所有的按钮都响应同一个单击事件(如你的butClick),只是在单击事...

关于asp.net (C#)控制新闻标题显示条数的问题!高手请进。
TempStr += "<TD class=sSign width=\\"80%\\" style=\\"line-height:22px\\">";TempStr += "";} TempStr += "";return TempStr;} 大致就是这样的

【急】C# 一个自动复制文本框内容 简单的问题
private void 选择_Click(object sender, EventArgs e){ TextBox tb= (TextBox)sender;tb.SelectAll();tb.Copy();}

浙江高考python满分多少(浙江高考满分多少分2018)
今天首席CTO笔记来给各位分享关于浙江高考python满分多少的相关内容,其中也会对浙江高考满分多少分2018进行详细介绍,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 本文目录一览: 1、Python纳入高考了吗2、2022浙江高考技术有python吗3、高考考python编程的有哪些省?4、如何看待浙江17级高考技术考python5...

国开学习指南网上作业答案
c. “以解答问题为中心”d. “以提供咨询为中心”题目10学生在申请国家开放大学奖学金或优秀毕业生时,先向其所在的( b )提交申请表。选择一项:a. 学院b. 学习中心c. 分部d. 总部三、多选题(每题2分,共计10分)题目11国家开放大学学生事务服务的项目包括哪些:( adefg )选择一项或多项:a. 学生活动b. ...

相似回答
大家正在搜