我试着用C#做一份注册声明。显然我去不了了。我不太清楚问题出在哪里。下面是一个片段:
MySqlConnection Connection =
new MySqlConnection("SERVER=localhost;UID=root;");
MySqlCommand Command =
new MySqlCommand("CREATE USER 'testuser'@'localhost'
IDENTIFIED BY 'superpassword';", Connection);
Command.ExecuteNonQuery();发布于 2014-05-04 20:07:09
在执行命令之前,需要打开连接
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作为密码,这将给出超出范围的异常。
https://stackoverflow.com/questions/23460954
复制相似问题