| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 749 人关注过本帖
标题:C#radiobutto身份验证登录问题
只看楼主 加入收藏
praykk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
C#radiobutto身份验证登录问题
用户密码正确,radiobotton也选择对,可是也会出现messgebox提示错误。不明原因。求大侠帮助
程序代码:
 private void btnGo_Click(object sender, EventArgs e)
        {
            string 用户名 = tbx用户名.Text.Trim();
            string 密码 = tbx密码.Text.Trim();
            string Roler;
            if (rbt普通职工.Checked) Roler = rbt普通职工.Text;
            if (rbt管理员.Checked) Roler = rbt管理员.Text;
            if (rbt超级管理员.Checked) Roler = rbt超级管理员.Text;
            if (tbx用户名.Text == "请输入用户名" || tbx用户名.Text == "")
            {
                MessageBox.Show("用户名不能为空!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                tbx用户名.Focus();
            }
            else if (tbx密码.Text == "")
            {
                MessageBox.Show("密码不能为空!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                tbx密码.Focus();
            }
            else if (rbt超级管理员.Checked == true)
            {
                DataSet ds = (SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, "SELECT 用户类型 FROM 员工表 WHERE 超级管理员"));
                
                if (IsValidateBySqlHelper(tbx用户名.Text.Trim(), tbx密码.Text.Trim()))
                {
                    MessageBox.Show("登录成功,您的权限是超级管理员.", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Form MainForm = new MainForm();
                    MainForm.Show();
                    this.Hide();//隐藏本窗体
                }
                else
                {
                    MessageBox.Show("用户名密码不匹配,请检查是否选择了相应权限", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    tbx用户名.Text = String.Empty;
                    tbx密码.Text = String.Empty;
                }
            }
            else if (rbt管理员.Checked == true)
            {
                if (IsValidateBySqlHelper(tbx用户名.Text.Trim(), tbx密码.Text.Trim()))
                {
                    MessageBox.Show("登录成功,您的权限是管理员.", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Form MainFormMancs = new MainFormMancs();
                    MainFormMancs.Show();
                    this.Hide();//隐藏本窗体
                }
                else
                {
                    MessageBox.Show("用户名密码不匹配,请检查是否选择了相应权限", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    tbx用户名.Text = String.Empty;
                    tbx密码.Text = String.Empty;
                }
            }
            else if (rbt普通职工.Checked == true)
            {

                if (IsValidateBySqlHelper(tbx用户名.Text.Trim(), tbx密码.Text.Trim()))
                {
                    MessageBox.Show("登录成功,您的权限是普通职工.", "登录成功", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    Form MainFormUser = new MainFormUser();
                    MainFormUser.Show();
                    this.Hide();//隐藏本窗体
                }
                else
                {
                    MessageBox.Show("用户名密码不匹配,请检查是否选择了相应权限", "登录失败", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    tbx用户名.Text = String.Empty;
                    tbx密码.Text = String.Empty;
                }
            }
        public bool IsValidateBySqlHelper(string strUserName, string strPwd)
        {
            SqlConnection conn = SqlHelper.GetConnection();
            string strSQL = "select * from 员工表 Where 职工姓名=@用户名 and 密码=@密码 and 用户类型=@Roler";
            SqlParameter[] para = new SqlParameter[3];
            para[0] = new SqlParameter("@用户名", SqlDbType.NVarChar);
            para[1] = new SqlParameter("@密码", strPwd);
            para[2] = new SqlParameter("@Roler", SqlDbType.NVarChar);
            SqlDataReader reader = SqlHelper.ExecuteReader(conn, CommandType.Text, strSQL, para);
            if (reader.HasRows)
            {
                conn.Close();
                return true;
            }
            else
            {
                conn.Close();
                return false;
            }

        }
搜索更多相关主题的帖子: 用户名 密码 
2013-06-21 00:49
mayuebo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:6
帖 子:257
专家分:1282
注 册:2005-9-8
收藏
得分:7 
tbx用户名.Text == "请输入用户名" || tbx用户名.Text == ""
这个先判断前面的条件,成立才判断后面的

成功贵在坚持
2013-06-21 06:23
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:0 
你上麵的if(rbt普通職工.checked){你這裡面把你下面的else if()要執行的放到裏面來試下}

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-21 08:42
praykk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
收藏
得分:0 
回复 2楼 mayuebo
嗯··我已经把这个判定放最前了··可以是还是通常的错··是不是用户类型没跟数据库验证成功。。不太明白怎么验证。
2013-06-21 13:11
praykk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
收藏
得分:0 
回复 3楼 QJlin
如果把那放进去IsValidateBySqlHelper那个就出错了。。
2013-06-21 13:18
Maick
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:32
帖 子:251
专家分:1314
注 册:2012-9-21
收藏
得分:7 
DataSet ds = (SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, "SELECT 用户类型 FROM 员工表 WHERE 超级管理员"));
一看语句就是错的
2013-06-21 13:23
praykk
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2013-6-21
收藏
得分:0 
回复 6楼 Maick
这个已经删掉了··有跟没运行还是一样
2013-06-21 13:35
QJlin
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:3
帖 子:186
专家分:560
注 册:2013-5-18
收藏
得分:7 
把錯誤信息貼出來。

慢慢前进走,不求一步登天,只求慢慢前进
2013-06-21 13:50
快速回复:C#radiobutto身份验证登录问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018800 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved