我试图用 C# 来做一个注册声明。显然我没能做到。我不知道问题是什么。话虽如此,这里是一个片段:
MySqlConnection Connection =
new MySqlConnection("SERVER=localhost;UID=root;");
MySqlCommand Command =
new MySqlCommand("CREATE USER 'testuser'@'localhost'
IDENTIFIED BY 'superpassword';", Connection);
Command.ExecuteNonQuery();
执行命令之前需要先打开连接
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 语句中
EDIT看看你的代码(为什么不立即放在这里?)很清楚错误在哪里
这条线
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);
传递给字符串格式的参数有 3 个,因此 string.format 中用于占位符的索引为 0、1 和 2。
您使用 3 作为密码,这会导致超出范围异常
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)