RoleProvider.CreateRole(String) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет новую роль к источнику данных для настроенного приложения applicationName
.
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)
Параметры
- roleName
- String
Имя создаваемой роли.
Примеры
В следующем примере кода показан пример реализации CreateRole метода.
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
Комментарии
CreateRole вызывается методом CreateRole Roles класса для добавления указанной роли в источник данных для настроенного ApplicationName.
Если указанное имя роли уже существует для настроенного applicationName
, имеет null
значение или является пустой строкой, мы рекомендуем поставщику создать исключение.
Если указанное имя роли содержит запятую, мы рекомендуем поставщику создать исключение.
Если источник данных ограничивает длину имени роли, например с помощью столбца фиксированной длины таблицы в базе данных, рекомендуется создать исключение, если имя роли превышает максимальную длину, разрешенную источником данных.