Лучший способ определить, существует ли строка - PullRequest
0 голосов
/ 11 марта 2012

Я использую синтаксис SQL Server и WebMatrix Razor, чтобы попытаться определить, содержится ли имя пользователя в таблице с именем Users.

Логика, которую я хотел бы иметь:

 bool usernameExists = db.QueryValue("SELECT Username from Users where Username = ?", username);
 if(usernameExists.IsEmpty()){ //username is not in table
    Response.Redirect("Register.cshtml");
 }

Какая лучшая практика для этого?

Ответы [ 2 ]

1 голос
/ 11 марта 2012

Один из подходов заключается в реализации настраиваемого поставщика членства , который аутентифицируется на основе вашей пользовательской таблицы. Затем ваше приложение отделено от специфики пользовательского хранилища, и это хорошо понимаемая модель аутентификации пользователя в приложениях ASP.NET.

1 голос
/ 11 марта 2012

Самое простое, вероятно:

bool usernameExists = db.QueryValue("SELECT usernameExists = CASE WHEN EXISTS 
 (SELECT 1 FROM Users WHERE Username = ?) THEN 1 ELSE 0 END", username);

if (!usernameExists) { Response.Redirect("Register.cshtml"); }

Хотя я говорю строго со стороны SQL Server.Я не знаю, является ли это лучшим подходом со стороны C #.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...