Получение данных - PullRequest
       16

Получение данных

0 голосов
/ 14 июля 2009

У меня есть одна таблица базы данных, которая содержит 8 столбцов. Один из столбцов называется IsAdmin (его тип данных - бит). Я должен показывать список пользователей в виде сетки, если и только если зарегистрированный пользователь является администратором.

Как я могу это сделать? Какой пункт используется для этого?

Ответы [ 4 ]

2 голосов
/ 14 июля 2009

Не совсем уверен, что я вас правильно понимаю. Является ли «список пользователей», который вы хотите отобразить, также таблицей, из которой вы выбираете? Насколько я понимаю, это то, что вам нужно:

if exists (
  select *
  from MyUserList
  where IsAdmin = 1
    and UserName = SUSER_NAME()
)
begin
  select *
  from MyUserList /* Or whatever you need to do if the user is admin */
end
else
begin
/* Do whatever you need to do if the user is not an admin */
end  
1 голос
/ 14 июля 2009

Для меня это не похоже на то, что вам нужно предложение, но должно обрабатываться бизнес-логикой в ​​вашем приложении.

например. если вы хотите показать список только в том случае, если зарегистрированный пользователь является администратором, тогда нет смысла выполнять запрос, если пользователь НЕ является администратором - это обходной путь к БД, который не нужен.

Вместо этого, в вашем приложении просто есть логика, которая говорит: «Если вошедший в систему пользователь является администратором, заполните представление сетки, иначе нет»

0 голосов
/ 14 июля 2009

Решение слишком простое, так как вам нужно выбрать конкретные данные, если пользователь играет роль администратора, в противном случае могут быть выбраны другие данные или ничего, поэтому сделайте следующий код:

select * from [UserList] where IsAdmin = @UserRole and UserID = @UserID

В этом случае вы выберете данные, относящиеся к этому идентификатору пользователя и его роли.

Надеюсь, что это полезно в соответствии с моим пониманием проблемы.

0 голосов
/ 14 июля 2009

Я бы, вероятно, рекомендовал сделать это в приложении, а не в SQL. Пусть приложение выполнит проверку того, кто является администратором, и поместит это в сеанс или файл cookie, а при загрузке страницы выполнит проверку сеанса / файла cookie, чтобы убедиться, что пользователь является администратором, и показывают ли они информацию.

Если вы хотите использовать его в SQL, вы должны предоставить некоторую дополнительную информацию, такую ​​как структура таблицы и имена таблиц.

Мэтт

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