创建用户

本文关键字:用户 创建 | 更新日期: 2023-09-27 18:01:50

我试图用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); 

有三个参数传递给字符串格式,因此索引将用于字符串中的占位符。格式为0、1和2。
您使用3作为密码,这会产生超出范围的异常