OleDbCommand cmd = new OleDbCommand("SELECT Stock FROM Products WHERE ID=" + ProductID + ";", conn); //run the database query
OleDbDataReader cusReader = cmd.ExecuteReader(); //read the result of the query
cusReader.Read();
ProductStock = (int)cusReader.GetValue(0);
cusReader.Close();
MessageBox.Show((ProductStock).ToString()); // checks that the form is being accessed and the SELECT query works
OleDbCommand cmd1 = new OleDbCommand("UPDATE Products SET Stock=" + (ProductStock - 1) + "WHERE ID= " + ProductID +";", conn);
try
{
if (cusReader.RecordsAffected > 0)
{
MessageBox.Show("no issue was experienced");
}
else
{
MessageBox.Show("An issue occured when decreasing stock");
}
cusReader.Close();
}
catch (Exception ex)
{
MessageBox.Show("An error occured in query.\n" + ex.Message);
}
Запрос на обновление возвращает сообщение об ошибке «Проблема возникла». Поле сообщения, которое показывает переменную Productstock, вернет правильное значение. Может ли кто-нибудь объяснить, как решить эту проблему?Ошибка при возврате запроса SQL Update
Вы даже выполняете заявление об обновлении? – Dirk
Вы можете вызвать 'ExecuteNonQuery' на' cmd1'. Наверное, это то, что имел в виду @Dirk. –
код, который не работает, был скопирован слово в слово из запроса на обновление, который работал отлично, поэтому я предполагаю, что у меня есть – Nic