Aracılığıyla paylaş


RoleProvider.DeleteRole(String, Boolean) Yöntem

Tanım

Yapılandırılan applicationNameiçin veri kaynağından bir rol kaldırır.

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

Parametreler

roleName
String

Silinecek rolün adı.

throwOnPopulatedRole
Boolean

ise true, bir veya daha fazla üyesi varsa roleName bir özel durum oluşturur ve öğesini silmez roleName.

Döndürülenler

Boolean

true rol başarıyla silindiyse; aksi takdirde , false.

Örnekler

Aşağıdaki kod örneği, yönteminin DeleteRole örnek uygulamasını gösterir.

public override bool DeleteRole(string rolename, bool throwOnPopulatedRole)
{
  if (!RoleExists(rolename))
  {
    throw new ProviderException("Role does not exist.");
  }

  if (throwOnPopulatedRole && GetUsersInRole(rolename).Length > 0)
  {
    throw new ProviderException("Cannot delete a populated role.");
  }

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("DELETE 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;

  OdbcCommand cmd2 = new OdbcCommand("DELETE FROM UsersInRoles "  +
                                     " WHERE Rolename = ? AND ApplicationName = ?", conn);

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

  try
  {
    conn.Open();

    cmd2.ExecuteNonQuery();
    cmd.ExecuteNonQuery();
  }
  catch (OdbcException)
  {
    // Handle exception.

    return false;
  }
  finally
  {
    conn.Close();      
  }

  return true;
}
Public Overrides Function DeleteRole(ByVal rolename As String, ByVal throwOnPopulatedRole As Boolean) As Boolean
    If Not RoleExists(rolename) Then
        Throw New ProviderException("Role does not exist.")
    End If

    If throwOnPopulatedRole AndAlso GetUsersInRole(rolename).Length > 0 Then
        Throw New ProviderException("Cannot delete a populated role.")
    End If

    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("DELETE 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

    Dim cmd2 As OdbcCommand = New OdbcCommand("DELETE FROM UsersInRoles " & _
                                              " WHERE Rolename = ? AND ApplicationName = ?", conn)

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

    Try
        conn.Open()

        cmd2.ExecuteNonQuery()
        cmd.ExecuteNonQuery()
    Catch e As OdbcException
        ' Handle exception.

        Return False
    Finally
        conn.Close()
    End Try

    Return True
End Function

Açıklamalar

DeleteRole, yapılandırılan için veri kaynağından belirtilen rolü silmek için sınıfının ve DeleteRole yöntemleri Roles tarafından DeleteRole çağrılırApplicationName.

Veri kaynağından bir rolü sildiğinizde, kullanıcı adı ile yapılandırılan applicationNameiçin silinen rol arasındaki tüm ilişkilendirmeleri de sildiğinizden emin olun.

ise trueve parametresi tarafından tanımlanan rolün roleName bir veya daha fazla üyesi varsathrowOnPopulatedRole, bir ProviderException atıp rolü silmeyin. ise throwOnPopulatedRole false, boş olsa da olmasa da rolü silin.

Belirtilen rol adı yoksa veya nullboş bir dizeyse, sağlayıcınızın bir özel durum oluşturmasını öneririz.

Şunlara uygulanır

Ayrıca bkz.