Я пытаюсь создать заявление об обновлении для назначения, где Пользователь может изменять информацию своей учетной записи. Всякий раз, когда я пытаюсь это сделать, я получаю сообщение об ошибке «Синтаксическая ошибка в операторе обновления». Я адаптирую код для генерации этого оператора из другого назначения, где код работает, поэтому я уверен, что мне не хватает некоторых мелких деталей. Ниже приведен код, который я имею для нажатия кнопки, который запускает метод, который создает оператор обновления, а также сам метод.
Нажатие кнопки:
protected void btnConfirm_Click(object sender, EventArgs e)
{
bool userUpdateError = false;
string tempPath = Server.MapPath("~/App_Data/Programmaholics.mdb");
clsDataLayer myDataLayer = new clsDataLayer(tempPath);
try
{
myDataLayer.UpdateUser(lblUsername.Text, lblCity.Text, lblState.Text, lblFavorite.Text, lblLeastFavorite.Text, lblDate.Text, Convert.ToInt32(UserID.Text));
}
catch (Exception error)
{
userUpdateError = true;
string message = "Error updating user, please check form data. ";
Master.UserFeedBack.Text = message + error.Message;
}
if (!userUpdateError)
{
Master.UserFeedBack.Text = "Customer Updated Successfully.";
}
}
Метод обновления:
public void UpdateUser(string userName, string city, string state, string favorite, string leastFavorite, string date, int userID)
{
dbConnection.Open();
string sqlStmt = "UPDATE tblUser SET Username = @user, " +
"City = @city, " +
"State = @state, " +
"Favorite = @favorite, " +
"LeastFavorite @least, " +
"DateLast = @date " +
"WHERE (tblUser.UserID = @id)";
OleDbCommand dbCommand = new OleDbCommand(sqlStmt, dbConnection);
OleDbParameter param = new OleDbParameter("@user", userName);
dbCommand.Parameters.Add(param);
dbCommand.Parameters.Add(new OleDbParameter("@city", city));
dbCommand.Parameters.Add(new OleDbParameter("@state", state));
dbCommand.Parameters.Add(new OleDbParameter("@favorite", favorite));
dbCommand.Parameters.Add(new OleDbParameter("@least", leastFavorite));
dbCommand.Parameters.Add(new OleDbParameter("@date", date));
dbCommand.Parameters.Add(new OleDbParameter("@id", userID));
dbCommand.ExecuteNonQuery();
dbConnection.Close();
}