我正在创建一个可以注册的 ASP 网站。
访问者选择注册的昵称必须是唯一的。
每次用户注册时,我都会从数据库中选择所有用户,然后我使用 foreach 循环来检查用户名是否已经存在:
private List<User> listExistingUsers;
listExistingUsers = Database.GetUsers();
foreach (User u in listExistingUsers)
{
if (u.Nickname == txtNickname.text)
{
Error = "Username already in use.";
}
}
但是上面的代码不能正常工作。它不会检查从数据库中读取的列表中的所有项目。因此,可能会有用户具有相同的用户名,这是我不想要的。
我能做些什么来解决这个问题?我阅读了有关 LINQ 的信息,但我认为这是使用 List<> 检查用户名的错误方法。我认为这个用户名检查必须以另一种方式完成。
各位高手能帮帮我吗?我也可以用 SQL 查询来做这个检查,但我想用 c# 来做。