Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

C# MySql CRIAR USUÁRIO


Antes de executar o comando, você precisa abrir a conexão
using(MySqlConnection Connection = new MySqlConnection("SERVER=localhost;UID=root;"))
using(MySqlCommand Command = new MySqlCommand("CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'superpassword';", Connection))
{
    Connection.Open();
    Command.ExecuteNonQuery();
}

Não se esqueça de incluir os comandos descartáveis ​​em uma declaração de uso

EDITAR Olhando para o seu código (por que você não coloca aqui imediatamente?) fica claro onde está o erro

está linha
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password); 

deveria estar
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password); 

Existem três parâmetros passados ​​para o formato de string, então os índices a serem usados ​​para os espaços reservados no formato de string são 0, 1 e 2.
Você usou 3 para a senha e isso dá a exceção fora do intervalo