Udostępnij za pośrednictwem


RoleProvider.CreateRole(String) Metoda

Definicja

Dodaje nową rolę do źródła danych skonfigurowanego applicationNameelementu .

public:
 abstract void CreateRole(System::String ^ roleName);
public abstract void CreateRole (string roleName);
abstract member CreateRole : string -> unit
Public MustOverride Sub CreateRole (roleName As String)

Parametry

roleName
String

Nazwa roli do utworzenia.

Przykłady

Poniższy przykład kodu przedstawia przykładową implementację CreateRole metody.

public override void CreateRole(string rolename)
{ 
  if (rolename == null || rolename == "")
    throw new ProviderException("Role name cannot be empty or null.");
  if (rolename.Contains(","))
    throw new ArgumentException("Role names cannot contain commas.");
  if (RoleExists(rolename))
    throw new ProviderException("Role name already exists.");
  if (rolename.Length > 255)
    throw new ProviderException("Role name cannot exceed 255 characters.");

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("INSERT INTO Roles "  +
                                    " (Rolename, ApplicationName) " +
                                    " Values(?, ?)", conn);

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

  try
  {
    conn.Open();

    cmd.ExecuteNonQuery();
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    conn.Close();      
  }
}
Public Overrides Sub CreateRole(rolename As String) 
  If rolename Is Nothing OrElse rolename = "" Then _
    Throw New ProviderException("Role name cannot be empty or null.")
  If rolename.Contains(",") Then _
    Throw New ArgumentException("Role names cannot contain commas.")
  If RoleExists(rolename) Then _
    Throw New ProviderException("Role name already exists.")
  If rolename.Length > 255 Then _
    Throw New ProviderException("Role name cannot exceed 255 characters.")

  Dim conn As OdbcConnection = New OdbcConnection(connectionString)
            Dim cmd As OdbcCommand = New OdbcCommand("INSERT INTO Roles " & _
                                                     " (Rolename, ApplicationName) " & _
                                                     " Values(?, ?)", conn)

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

            Try
                conn.Open()

                cmd.ExecuteNonQuery()
            Catch e As OdbcException
                ' Handle exception.
            Finally
                conn.Close()
            End Try
        End Sub

Uwagi

CreateRole jest wywoływana przez CreateRole metodę Roles klasy w celu dodania określonej roli do źródła danych skonfigurowanego ApplicationNameelementu .

Jeśli określona nazwa roli już istnieje dla skonfigurowanego applicationNameciągu , to null, lub jest pustym ciągiem, zalecamy, aby dostawca zgłosił wyjątek.

Jeśli określona nazwa roli zawiera przecinek, zalecamy, aby dostawca zgłosił wyjątek.

Jeśli źródło danych ogranicza długość nazwy roli, na przykład przez kolumnę o stałej długości tabeli w bazie danych, zalecamy zgłoszenie wyjątku, jeśli nazwa roli przekracza maksymalną długość dozwoloną przez źródło danych.

Dotyczy

Zobacz też