从asp.net ide中的SQL Server Management Studio检索值

时间:2012-10-01 11:14:02

标签: asp.net sql-server database linq

我从SQL Server Management Studio到asp.net 4.0 ide的表中获取所有单元格值。但我不知道为什么,但每个值都自动附加3个空格。我也无法削减这些价值。所以我无法将这些值与文本框中的密码值等值进行比较。我正在使用linq查询和linq到sql dbml文件。谁能告诉我发生在我身上的事情?以及如何解决这个问题?感谢。

这是代码:

      DataClasses1DataContext dj = new DataClasses1DataContext();
        var pwd = from p in dj.USERs
                  where p.USER_NAME.ToLower().Trim() == _userName.Text.ToString().ToLower().Trim()
                  select new { p.PASSWORD };

        var utype = from u in dj.USERs
                    where u.USER_NAME.ToLower().Trim() == _userName.Text.ToString().ToLower().Trim()
                    select new { u.USER_TYPE };

    if (_password.Text.ToString() == pwd.ToString().Trim())
        //**in above line i m getting pwd.tostring() values to "admin    "
        //_password.text value "admin" .. so it fails to trim and hence compare.**
           {
                if (Session["username"] == null)
                {
                    Session["username"] = _userName.Text.ToString().ToLower();
                }
            }
            else
            {
                _wrongDetails.Text = "Wrong UserName or Password Entered!";
            }

2 个答案:

答案 0 :(得分:1)

我认为在你的表中,列可能有char类型,它具有固定长度,因此可以附加空格。

答案 1 :(得分:0)

我怀疑您将密码存储为char而不是varchar

但是,将密码存储为纯文本是不好的做法。您应该查看存储密码的哈希值。