comboBox

行走的沙漠骆驼 2013-01-08 03:06:30
最近在做个Myschool的项目,请教下comboBox怎么选择老师登录是弹出老师的界面,学生登录是学生的界面,管理员登录是管理员的界面,注意,这三个的帐号密码在三张各人自己的表里面,我用了三个sql语句来判断,但是总是只是符合两个的,要么就是老师学生管理员都能登录一个表的(因为是不同的三张表,应该只有一个是符合登录条件的),要么就是都是帐号密码错误
下面是的部分代码,试过了,全部不行,求解救~~
String sql = String.Format("select COUNT(*) from AdminInfo where AdminName = '{0}' and AdminPwd = '{1}'", name, pwd);
//验证老师帐号和密码
String sql1 = String.Format("select COUNT(*) from Teachers where TeacherName = '{0}' and TeacherPwd = '{1}'", name, pwd);
////验证学生帐号和密码
String sql2 = String.Format("select COUNT(*) from StudentsInfo where Name = '{0}' and StudentID = '{1}'", name, pwd);
int i = db.Login(sql);
int j = db.Login(sql1);
int k = db.Login(sql2);
if(i!=0&&j==0&&k==0){
if (leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
}
if (i == 0 && j != 0 && k == 0)
{
if (leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
}
else
{
MessageBox.Show("帐号密码错误");
}
}
if (i > 0 && leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (i > 0 && leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (i > 0 && leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
else if (j > 0 && leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (j > 0 && leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (j > 0 && leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
else if (k > 0 && leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (k > 0 && leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (k > 0 && leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
else {
MessageBox.Show("帐号密码错误");
}
}
if (leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
}
if (j > 0)
{
if (leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
}
if (k > 0)
{
if (leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
}
else if (leixing == "学生")
{
MessageBox.Show("学生登录成功");
}
else if (leixing == "教师")
{
MessageBox.Show("教师登录成功");
}
}
else
{
MessageBox.Show("帐号密码错误");
}
}
if (leixing == "学生")
{
MessageBox.Show("学生登录成功");
Student stu = new Student();
stu.Show();
this.Hide();
}
else if (leixing == "教师")
{
MessageBox.Show("教师登录成功");
Teacher ter = new Teacher();
ter.Show();
this.Hide();
}
else if (leixing == "管理员")
{
MessageBox.Show("管理员登录成功");
AdminInfo info = new AdminInfo();
info.Show();
this.Hide();
}
...全文
158 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Bule 2013-01-14
  • 打赏
  • 举报
回复
LZ写了这么多,真心觉得为什么不放到一张表里面呢,要判断类型,直接增加个AccountType来区分是老师、学生还是管理员不就行了。
after2010 2013-01-11
  • 打赏
  • 举报
回复
这个 if …… else …… 比较疯狂
jce195447 2013-01-11
  • 打赏
  • 举报
回复
这个。。
li_wenbiao 2013-01-09
  • 打赏
  • 举报
回复
汗! 惨不忍睹! 1楼正解!
memory_qian 2013-01-09
  • 打赏
  • 举报
回复
波西米亚人生 2013-01-08
  • 打赏
  • 举报
回复
LZ的代码写的 惨不忍睹 啊
wanghui0380 2013-01-08
  • 打赏
  • 举报
回复
疯狂的代码, 如果有comebox你还要这么多if做啥子,根据comebox的值选择一条sql执行就ok 如果没有comebox,正常逻辑是分成3个方法,采用链式连接 登录检查 {   if (!检查管理员()){ "3项检查都失败"} } bool 检查管理员() { if(检查失败) { return 接着检查老师() } MessageBox.Show("管理员成功"); return ture; } bool 检查老师() { if(检查失败) { return 接着检查学生() } MessageBox.Show("管理员老师"); return ture; } bool 检查老师() { if(检查失败) { return false } MessageBox.Show("管理员老师"); return ture; } 当然如果没有comebox,你原始设计里面有小bug,你的优先保证,3个表里面木有同名、同密码的家伙存在

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧