Sebelum menjalankan perintah, Anda perlu membuka koneksi
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();
}
Jangan lupa untuk menyertakan perintah sekali pakai dalam Pernyataan Penggunaan
EDIT Melihat kode Anda (mengapa Anda tidak segera meletakkannya di sini?) jelas di mana kesalahannya
baris ini
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password);
seharusnya
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password);
Ada tiga parameter yang diteruskan ke format string, jadi indeks yang akan digunakan untuk placeholder di string.format adalah 0, 1 dan 2.
Anda menggunakan 3 untuk kata sandi dan ini memberikan pengecualian di luar jangkauan