Bagikan melalui


RoleProvider.DeleteRole(String, Boolean) Metode

Definisi

Menghapus peran dari sumber data untuk yang dikonfigurasi applicationName.

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

Parameter

roleName
String

Nama peran yang akan dihapus.

throwOnPopulatedRole
Boolean

Jika true, berikan pengecualian jika roleName memiliki satu atau beberapa anggota dan jangan hapus roleName.

Mengembalikan

true jika peran berhasil dihapus; jika tidak, false.

Contoh

Contoh kode berikut menunjukkan implementasi DeleteRole sampel metode .

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

Keterangan

DeleteRole dipanggil oleh DeleteRole dan DeleteRole metode Roles kelas untuk menghapus peran yang ditentukan dari sumber data untuk yang dikonfigurasi ApplicationName.

Saat Anda menghapus peran dari sumber data, pastikan Anda juga menghapus asosiasi apa pun antara nama pengguna dan peran yang dihapus untuk yang dikonfigurasi applicationName.

Jika throwOnPopulatedRole adalah true, dan peran yang diidentifikasi oleh roleName parameter memiliki satu atau beberapa anggota, lempar ProviderException dan jangan hapus peran. Jika throwOnPopulatedRole adalah false, maka hapus peran apakah itu kosong atau tidak.

Jika nama peran yang ditentukan tidak ada, adalah null, atau merupakan string kosong, kami sarankan penyedia Anda memberikan pengecualian.

Berlaku untuk

Lihat juga