下面的2个if语句都不执行,请帮忙看看。谢谢!
    private void Entry1()
    {
        loginDAL logindal = new loginDAL();        login user=logindal.getUserInfo(this.txtName.Text.Trim());//根据登陆名取该用户信息
        if (user!= null)
        {
            if (user.PassWord.Equals(this.txtPwd.Text.Trim()))
            {
                Session.Add("User",user.UserName);
                Response.Redirect("addobject.aspx");
            }
        }
        this.LabMessage.Text = "用户名或密码错误!";
    }        #region//根据UserId得到一个用户信息对象
        public login getUserInfo(string UserId)
        {
            //用户名、密码
            string commandText = "select UserName,PassWord from objadmin where UserName='" + UserId + "'";            DBHelper helper = new DBHelper();
            SqlDataReader result = helper.getExecuteReader(commandText);
            if (result != null && result.Read())
            {
                login user = new login();
                user.UserName=result.GetString(0);
                user.PassWord=result.GetString(1);
                return user;
            }
            return null;
        }
        #endregionDBSQL        public SqlDataReader getExecuteReader(string commandString, SqlParameter[] param)//带参数  返回查询结果集的方法
        {
            SqlCommand com = this.getCommand(commandString, param);
            return com.ExecuteReader();
        }

解决方案 »

  1.   

    估计直接跳到
    this.LabMessage.Text = "用户名或密码错误!";
      

  2.   

    恩 直接跳this.LabMessage.Text = "用户名或密码错误!"; 
    很闷。。
    不知道哪错了~~
      

  3.   

    是不是getUserInfo执行中出现异常了?
      

  4.   

    getUserInfo取值正常。。在页面上能够正确取值`
      

  5.   

    public SqlDataReader getExecuteReader(string commandString, SqlParameter[] param)//带参数  返回查询结果集的方法
            {
                SqlCommand com = this.getCommand(commandString, param);
                return com.ExecuteReader();
            }
    这里是传入两个参数
    SqlDataReader result = helper.getExecuteReader(commandText);
    这里只传入一个参数?
    建议这样写
       public login getUserInfo(login user)
            {
                //用户名、密码
                string commandText = "select UserName,PassWord from objadmin where UserName= @uname";
                SqlParameter parm = new SqlParameter("@uname", user.UserName);
                DBHelper helper = new DBHelper();
                SqlDataReader result = helper.getExecuteReader(commandText,parm);
                if (result.Read())
                {
                    login user = new login();
                    user.UserName=result.GetString(0);
                    user.PassWord=result.GetString(1);
                    
                }return user;
                
            }
            #endregion
      

  6.   

    调试看看user的值是不是确实等于null,语句没问题
      

  7.   

    数据获取正常。
    user值不为null。。
    可以获取到。
    很闷!!
      

  8.   

    user不为NULL,那第一个if不就执行了
    我的写法和你略有不同,不过没你这样的错误
      

  9.   

    楼主可以把你的getUserInfo()用户是否存在改bool型的
    根据返回bool型的值来判断...
      

  10.   

    我也是菜鸟,但是你些的程序好像就是用户名不为空的话就执行:this.LabMessage.Text = "用户名或密码错误!";
    不是吗???还是我看错了???
    请高手指点!!!
      

  11.   

    public login getUserInfo(string UserId)
    无论怎么执行 好像都返回null