所以我的问题是说我的更新声明中有我的问题,但我相信我的声明是正确的,如果我错了请纠正我
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
string query = "update Admin set Password='" + Npassword.Text + "' WHERE Pk='" + txt2.Text + "'";
command.CommandText = query;
command.ExecuteNonQuery();
MessageBox.Show("Password Changed");
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error, fill the fields required" + ex);
connection.Close();
}
最佳答案
暂时忽略评论中的好建议,密码是Access SQL中的保留字,因此必须用括号括起来:
string query = "update Admin set [Password]='" + Npassword.Text + "' WHERE Pk='" + txt2.Text + "'";
此外,如果Pk是数字,则不带引号:
string query = "update Admin set [Password]='" + Npassword.Text + "' WHERE Pk=" + txt2.Text + "";
关于c# - 如何修复带有密码的更新语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54527733/