私は8つの列を含む1つのデータベーステーブルを持っています。列の1つはIsAdmin
(データ型はBit)です。ログインしているユーザーが管理者である場合に限り、グリッドビューでユーザーリストを表示する必要があります。データを取得する
どうすればいいですか?これにはどの句が使用されていますか?
私は8つの列を含む1つのデータベーステーブルを持っています。列の1つはIsAdmin
(データ型はBit)です。ログインしているユーザーが管理者である場合に限り、グリッドビューでユーザーリストを表示する必要があります。データを取得する
どうすればいいですか?これにはどの句が使用されていますか?
私はあなたを正しく理解しているかどうかは不明です。あなたが探している "ユーザリスト"は、あなたが選択しているテーブルにも表示されていますか?
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
これは、SQLではなくアプリケーションで行うことをお勧めします。アプリケーションが管理者であるかどうかのチェックを行い、それをセッションまたはクッキーに入れさせ、ページがロードされたときにセッション/クッキーのチェックを行い、ユーザーが管理者であり、情報を表示していることを確認します。
SQLで使用する場合は、テーブル構造やテーブル名などの追加情報を提供する必要があります。
マット
私には、あなたが句を必要とするような音はありませんが、アプリケーションのビジネスロジックによって処理されなければなりません。
ログインしているユーザーが管理者である場合にのみリストを表示する場合は、ユーザーが管理者でない場合はクエリを実行する必要はありません。これは不必要なdbへのラウンドトリップです。
代わりに、アプリケーション内でちょうどあなたが選択する必要があるとして、
ソリューションは単純すぎる「に署名しているユーザが管理者である場合は、他のない、グリッドビューを移入」と言ういくつかのロジックを持っています特定のデータ、ユーザが管理者の役割であり、それ以外の別のデータを選択していないか、何もすることができるので、次のコードを実行する場合:あなたは、このユーザーIDと彼の役割に関連するデータを選択します。この場合、
select * from [UserList] where IsAdmin = @UserRole and UserID = @UserID
を。
これは私の問題の理解に役立つことを願っています。
ユーザーが** IsAdmin **列を表示する必要があるのは、彼がadminの場合のみです。管理者の場合のみ、またはすべての記録は管理者の場合のみ表示する必要がありますか? – TheVillageIdiot
詳細が必要です。何に署名した?どのテクノロジー/フレームワークを使用していますか?彼が管理者の場合は –
すべてのレコード。 – MAC