Trước khi thực hiện lệnh, bạn cần mở kết nối
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();
}
Đừng quên gửi kèm các lệnh dùng một lần trong Câu lệnh Sử dụng
CHỈNH SỬA Nhìn vào mã của bạn (tại sao bạn không đặt ở đây ngay lập tức?), Rõ ràng là lỗi ở đâu
dòng này
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{3}';", username, host, password);
nên được
this.COMMAND = String.Format("CREATE USER '{0}'@'{1}' IDENTIFIED BY '{2}';", username, host, password);
Có ba tham số được truyền cho định dạng chuỗi, vì vậy các chỉ mục được sử dụng cho trình giữ chỗ trong string.format là 0, 1 và 2.
Bạn đã sử dụng 3 cho mật khẩu và điều này mang lại ngoại lệ ngoài phạm vi