次の方法で共有


RoleProvider.RoleExists(String) メソッド

定義

構成された applicationName の指定されたロール名がロール データ ソースに既に存在するかどうかを示す値を取得します。

public:
 abstract bool RoleExists(System::String ^ roleName);
public abstract bool RoleExists (string roleName);
abstract member RoleExists : string -> bool
Public MustOverride Function RoleExists (roleName As String) As Boolean

パラメーター

roleName
String

データ ソースで検索するロールの名前。

戻り値

構成された applicationName のロール名がデータ ソースに既に存在する場合は true、それ以外の場合は false

次のコード例は、 メソッドの実装例を RoleExists 示しています。

public override bool RoleExists(string rolename)
{
  if (rolename == null || rolename == "")
    throw new ProviderException("Role name cannot be empty or null.");

  bool exists = false;

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("SELECT COUNT(*) FROM Roles "  +
                                    " WHERE Rolename = ? AND ApplicationName = ?", conn);

  cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename;
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;

  try
  {
    conn.Open();

    int numRecs = (int)cmd.ExecuteScalar();

    if (numRecs > 0)
    {
      exists = true;
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    conn.Close();      
  }

  return exists;
}
Public Overrides Function RoleExists(ByVal rolename As String) As Boolean

    If rolename Is Nothing OrElse rolename = "" Then _
      Throw New ProviderException("Role name cannot be empty or null.")

    Dim exists As Boolean = False

    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("SELECT COUNT(*) FROM Roles " & _
                                             " WHERE Rolename = ? AND ApplicationName = ?", conn)

    cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
    cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName

    Try
        conn.Open()

        Dim numRecs As Integer = CType(cmd.ExecuteScalar(), Integer)

        If numRecs > 0 Then
            exists = True
        End If
    Catch e As OdbcException
        ' Handle exception.
    Finally
        conn.Close()
    End Try

    Return exists
End Function

注釈

RoleExists は、 RoleExists クラスの Roles メソッドによって呼び出され、構成された ApplicationNameのデータ ソースにロール名が存在するかどうかを判断します。

指定したロール名が または null が空の文字列の場合は、プロバイダーが例外をスローすることをお勧めします。

適用対象

こちらもご覧ください