执行命令前,需要打开连接
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();
}
不要忘记将一次性命令包含在 Using 语句中
编辑查看您的代码(为什么不立即放在这里?)很明显错误在哪里
这条线
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password);
应该
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password);
有三个参数传递给字符串格式,因此在 string.format 中用于占位符的索引是 0、1 和 2。
您使用 3 作为密码,这给出了超出范围的异常