注册 登录
编程论坛 ASP.NET技术论坛

为什么登陆页面输入相关信息后总是显示“查无此人”呢?高手帮忙。。。谢谢

恋雪怜冰 发布于 2010-08-30 12:06, 763 次点击
为什么登陆页面输入相关信息后总是显示“查无此人”呢?
麻烦高手看下一下代码 那里错了
 string adminName = txtadmin.Text;
                string adminpwd = txtpwd.Text;
               
                if(AdminInfoBus.selectadmin(adminName,adminpwd)!=null)
                {
                SqlCommand cmd = new SqlCommand("select adminpwd from adminInfo where  adminName=" + this.txtadmin.Text, con);//User是自己创建的一个表
                try
                {
                    string adminPwd = cmd.ExecuteScalar().ToString();  //如果没有查到密码,转换会有异常
                    if (adminPwd != this.txtpwd.Text)  //判断密码是否正确
                    {
                        Response.Write("<script>alert('密码不正确!')</script>");
                    }
                    else
                    {
                        //密码正确,页面转向
                        Response.Redirect("WebForm1.aspx");
                    }
                }
                catch
                {
                    Response.Write("<script>alert('查无此人!')</script>");
                }
                finally
                {
                    con.Close();  //关闭连接
                }
                }
           
                else
                { Response.Write("<script>alert('用户名或密码错误!');</script>");
                }
4 回复
#2
foktime2010-08-30 13:40
SqlCommand cmd = new SqlCommand("select adminpwd from adminInfo where  adminName='" + this.txtadmin.Text + "'", con);//User是自己创建的一个表
加个单引号试试行不
#3
yukai6212010-08-30 13:56
有两个问题我没看明白


第一个 if(AdminInfoBus.selectadmin(adminName,adminpwd)!=null) 这里你已经调用了一个方法

SqlCommand cmd = new SqlCommand("select adminpwd from adminInfo where  adminName=" + this.txtadmin.Text, con);//User是自己创建的一个表
在这里你又重新填写了一个cmd命令 有点多次一举

第二个 string adminPwd = cmd.ExecuteScalar().ToString();  //如果没有查到密码,转换会有异常
这个返回的是你要查询返回一行的数据  是有整数性 你用一个字符串类型接值是不对的

string adminpwd = txtpwd.Text;
这里你已经接到值了
SqlCommand cmd = new SqlCommand("select adminpwd from adminInfo where  adminName=" + this.txtadmin.Text, con);//User是自己创建的一个表
这里写的有点错误  adminName=" + adminpwd , con
这几点一查看一下吧

#4
恋雪怜冰2010-08-30 14:13
这主要是判断输入的密码与数据库中的一致
查询语句是根据用户名和密码查找用户
在登陆是判断输入的密码与数据库的一样就成功跳转
否则就重新输入
这怎么写呢?
#5
yukai6212010-08-30 14:21
这里沟通很费劲 你可以加我QQ176745155
1