我有一个c#应用程序,如果你点击一个按钮,它将获取密码文本框中的任何内容,并尝试在usernamelab.text中使用该用户设置mysql数据库。但是,这执行得很好,但是我仍然可以在phpmyadmin中刷新数据库,并且可以使用旧密码正常工作。新密码拒绝访问,因此即使没有错误,它显然也没有更改密码。有人知道为什么会这样吗?
这是按钮的代码。
private void submitNewMySQLPasswordButton_Click(object sender, EventArgs e)
{
var connection = ConfigurationManager.ConnectionStrings["system"].ConnectionString;
MySqlConnection myconn = new MySqlConnection(connection);
myconn.Open();
MySqlCommand command = myconn.CreateCommand();
command.CommandText = "UPDATE mysql.user SET Password=PASSWORD('@NewPassHere') WHERE User='@User';";
command.Parameters.AddWithValue("@User", usernameLabel.Text);
//command.Parameters.AddWithValue("?hostname", "%");
command.Parameters.AddWithValue("@NewPassHere", newPasswordTextBox.Text);
int rows = command.ExecuteNonQuery();
myconn.Close();
}
1条答案
按热度按时间zed5wv101#
您需要删除参数周围的引号,否则它只是一个普通的字符串。