简体   繁体   English

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

[英]Comparing Database values with an input value?

I'm attempting to create a register page for users to use. 我正在尝试创建一个注册页面供用户使用。 However, this allows users to have the same Username, in which I don't want to happen. 但是,这允许用户拥有相同的用户名,而我不想在其中发生这种情况。 I've wrote a piece of code, which I assumed would work but failed miserably. 我写了一段代码,我以为可以用,但是失败了。

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;
}

Only gave the relevant part. 只给出了相关部分。

I was wondering if someone could explain to me what I have done wrong about this? 我想知道是否有人可以向我解释我对此做错了什么? Managers is my database. Managers是我的数据库。

Edit- I added in a foreach loop, however was still accepted values. 编辑-我在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 Showing the Error when program is ran http://i.imgur.com/5DF4Mj6.png运行程序时显示错误

Do something like : 做类似的事情:

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

Edit : 编辑:

Use lambda expressions 使用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});
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM