C# MySql CREATE USER

后端 未结 1 1916
走了就别回头了
走了就别回头了 2021-01-24 02:38

I was trying to make a registration statement with C#. Obviously I couldn\'t make it. I don\'t exactly know what the problem is. With that said here is a snippet:



        
相关标签:
1条回答
  • 2021-01-24 02:55

    Before executing the command, you need to open the connection

    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();
    }
    

    Do not forget to enclose the disposable commands in a Using Statement

    EDIT Looking at your code (why don't you put here immediately?) it is clear where is the error

    this line

    this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password); 
    

    should be

    this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password); 
    

    There are three parameters passed to the string format, so the indexes to be used for the placeholders in the string.format are 0, 1 and 2.
    You used 3 for the password and this gives the out of range exception

    0 讨论(0)
提交回复
热议问题