Przed wykonaniem polecenia musisz otworzyć połączenie
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();
}
Nie zapomnij zawrzeć jednorazowych poleceń w instrukcji Using
EDYTUJ Patrząc na Twój kod (dlaczego nie umieścisz go tutaj od razu?) jest jasne, gdzie jest błąd
ta linia
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password);
powinno być
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password);
Do formatu ciągu przekazywane są trzy parametry, więc indeksy, które mają być używane dla symboli zastępczych w formacie ciągu to 0, 1 i 2.
Użyłeś 3 jako hasła, co daje wyjątek poza zakresem