【C#七层】——登录权限判断

前言
登录三个权限角色:学生,教师,管理员。登录后,分别显示自己拥有权限的窗体
UI层补充部分

try
            {
                //实例化Entity类为具体对象user
                //把输入的用户名string类型转换成在entity里定义的int类型
                //输入的密码就是int类型的,所以不需要
                Entity.UserInfo user = new Entity.UserInfo();
                user.UserID = Convert.ToInt32(txtUserName.Text.Trim());
                user.Password = txtPassWord.Text.Trim();

                //定义flag为布尔类型
                //实例化 Facade层的LoginFacade类为具体的对象flogin
                //具体对象flogin的SelectUser方法的参数user传给布尔类型flag
                Boolean flag ;
                Facade.LoginFacade Flogin = new Facade.LoginFacade();
                flag = Flogin.SelectUser(user);
                glbVariables.glbUserName = user.Username;


                //user.Username = username;
                //flag不等于false登录成功,显示需要的窗体
                if (flag!=false )
                {
                    //隐藏窗体
                    //获取窗体的标识符的返回值OK=1
                    Hide();
                    DialogResult = DialogResult.OK;
                    DataTable table = new DataTable();
                    table = Flogin.SelectLevel(user);


                    if (table.Rows[0][2].ToString().Trim()== "学生端")
                    {
                        //实例化窗体
                        frmStudent frmstu = new frmStudent();
                        //显示实例化的学生界面
                        frmstu.Show();

                    }
                    else if (table.Rows[0][2].ToString().Trim() == "教师端")
                    {
                        frmTeacher frmtcher = new frmTeacher();

                        frmtcher.Show();
                    }
                    else
                    {
                        frmManager frmmng = new frmManager();
                        frmmng.Show();
                    }


                }
                else
                {
                    MessageBox.Show("验证错误,重新输入");
                }
            }
            catch (Exception ex)
            {

                MessageBox.Show(ex .Message );
            }
        }

Facade层补充部分

public DataTable SelectLevel(Entity.UserInfo user)
        {
            LoginBLL userBLL = new LoginBLL();
            DataTable table  = userBLL.LevelBLL(user);
            return table; 
        }

BLL补充部分

public DataTable LevelBLL(Entity.UserInfo level)
        {
            Factory.LoginFactory fact = new Factory.LoginFactory();
            IDAL.ILoginIDAL idal = fact.CreateUser();
            DataTable table = idal.selectUser(level);
            return table;
        }

错误分析

错误:在判断时候总是不能够判断出事什么level,无论什么用户名都只登录管理员端
错误原因:没有消除空格trim()导致,不可以进去if循环。修改为if (table.Rows[0][2].ToString().Trim()== “学生端”)

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邢美玲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值