Před provedením příkazu musíte otevřít připojení
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();
}
Nezapomeňte přiložit jednorázové příkazy do Prohlášení o používání
UPRAVIT Když se podíváte na váš kód (proč to sem hned nevložíte?), je jasné, kde je chyba
tento řádek
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password);
by mělo být
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password);
Formátu řetězce jsou předány tři parametry, takže indexy, které se mají použít pro zástupné symboly ve formátu string.format, jsou 0, 1 a 2.
Použili jste 3 pro heslo a to dává výjimku mimo rozsah