RoleProvider.DeleteRole Method
Removes a role from the data source for the configured applicationName.
Assembly: System.Web.ApplicationServices (in System.Web.ApplicationServices.dll)
'Declaration Public MustOverride Function DeleteRole ( _ roleName As String, _ throwOnPopulatedRole As Boolean _ ) As Boolean
Parameters
- roleName
- Type: System.String
The name of the role to delete.
- throwOnPopulatedRole
- Type: System.Boolean
If true, throw an exception if roleName has one or more members and do not delete roleName.
DeleteRole is called by the DeleteRole and the DeleteRole methods of the Roles class to delete the specified role from the data source for the configured ApplicationName.
When you delete a role from the data source, ensure that you also delete any associations between a user name and the deleted role for the configured applicationName.
If throwOnPopulatedRole is true, and the role identified by the roleName parameter has one or more members, throw a ProviderException and do not delete the role. If throwOnPopulatedRole is false, then delete the role whether it is empty or not.
If the specified role name does not exist, is Nothing, or is an empty string, we recommend that your provider throw an exception.
The following code example shows a sample implementation of the DeleteRole method.
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
Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.