将数据库值与输入值进行比较?

时间:2014-12-19 13:05:25

标签: c# asp.net database

我正在尝试创建一个供用户使用的注册页面。 但是,这允许用户具有相同的用户名,我不希望在其中发生。我写了一段代码,我认为这段代码可以正常工作但却失败了。

Managers manager = new Managers();

//Compares to database to find any duplicate usernames
if (manager.Username == txtUsername.Text)
{
    lblUsername.Text = "Please enter a different username!";
    lblUsername.Visible = true;
}

仅给出相关部分。

我想知道是否有人可以向我解释我做错了什么? Managers是我的数据库。

编辑 - 我在foreach循环中添加了,但仍然是可接受的值。

List<Managers> manage = new List<Managers>();
Managers manager = new Managers();
foreach (Managers m in manage)
{
    if (manager.Username == txtUsername.Text)
    {
        lblUsername.Text = "Please enter a different username!";
        lblUsername.Visible = true;
    }
}

http://i.imgur.com/5DF4Mj6.png在程序运行时显示错误

1 个答案:

答案 0 :(得分:2)

做类似的事情:

var query = (from c in db.Users where c.UserName== userName select c);
if (query.Count() > 0)
{
    // Message : user is exist 
}
else
{
   // register user
}

编辑:

使用lambda表达式

if (Manager.Users.Select(d => d).Where(d => d.UserName == UserName).ToList().Count() > 0)
{
        // the Item is Exist in the list
}
else
{
        Manager.Users.Add(new Users { UserName = Username, Pass= Password});
}