我的问题是,当我尝试更改密码时,出现此错误:
没有为一个或多个参数提供值
我的代码:
gcloud compute scp --zone us-central1-a C:\Users\root\Downloads\***.sql ***-sandbox:~/var/www/html
答案 0 :(得分:1)
我同意您在帖子中提供的反馈意见,密码绝对不应为纯文本,并且您不应基于密码列上的匹配项来更新密码。
但是为了帮助您解决直接的问题,您已经在SQL文本中声明了一个参数,但没有将参数提供给OleDbCommand
。
尝试一下:
connectionn.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connectionn;
string query = "update LOGIN set pass=@Password WHERE UserId=@UserId";
command.CommandText = query;
// Some form of hashing should definitely be done here! Should NOT be plain text
command.AddWithValue("@Password", NPassword.Text);
// Not provided in your question but should use this parameter to update the proper column and not try to match on a password field
command.AddWithValue("@UserId", userId);
command.ExecuteNonQuery();
MessageBox.Show("Password Changed");
connectionn.Close();
}
catch (Exception ex)
{
MessageBox.Show("Error, fill the fields required" + ex);
connectionn.Close();
}