RoleProvider.DeleteRole メソッド
アセンブリ: System.Web (system.web.dll 内)

Public MustOverride Function DeleteRole ( _ roleName As String, _ throwOnPopulatedRole As Boolean _ ) As Boolean
Dim instance As RoleProvider Dim roleName As String Dim throwOnPopulatedRole As Boolean Dim returnValue As Boolean returnValue = instance.DeleteRole(roleName, throwOnPopulatedRole)
戻り値
ロールが正常に削除された場合は true。それ以外の場合は false。

DeleteRole は、Roles クラスの DeleteRole メソッドと DeleteRole メソッドによって呼び出され、指定されたロールを構成済みの ApplicationName のデータ ソースから削除します。
データ ソースからロールを削除する場合、構成済みの applicationName の削除したロールとユーザー名間のあらゆる関連付けも必ず削除してください。
throwOnPopulatedRole が true で roleName パラメータで示されるロールに 1 つ以上のメンバがある場合、ProviderException をスローし、ロールを削除しないでください。throwOnPopulatedRole が false の場合、ロールが空であるかどうかにかかわらずロールを削除します。
指定されたロール名が null 参照 (Visual Basic では Nothing) または空の文字列である場合、プロバイダから例外をスローすることをお勧めします。

DeleteRole メソッドの実装サンプルを次のコード例に示します。
Public Overrides Function DeleteRole(rolename As String, 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 [" & rolesTable & "]" & _ " 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 [" & usersInRolesTable & "]" & _ " 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
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 [" + rolesTable + "]" + " 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 [" + usersInRolesTable + "]" + " 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; }

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からRoleProvider.DeleteRole メソッドを検索する場合は、下記のリンクをクリックしてください。

- RoleProvider.DeleteRole メソッドのページへのリンク