Следующий код работает, я получаю сообщение о том, что продукт обновлен, однако никаких изменений в базе данных не производится.C# executenonquery не обновляет базу данных
Это было скопировано и вставлено из другого метода, который работает в одной базе данных, и этот метод работает нормально.
private void btnProductSave_Click(object sender, EventArgs e)
{
if (txtProductName.Text != "")
{
var confirmResult = MessageBox.Show("Are you sure you want to save changes to this product?", "Confirm Save", MessageBoxButtons.YesNo);
if (confirmResult == DialogResult.Yes)
{
SqlConnection con = null;
con = new SqlConnection(ConfigurationManager.ConnectionStrings["PVAdmin.Properties.Settings.PricerConnectionString"].ConnectionString);
string sql2 = "UPDATE Products SET productName = @productName WHERE productID = @productID";
SqlCommand myCommand2 = new SqlCommand(sql2, con);
myCommand2.Parameters.AddWithValue("@productName", txtProductName.Text);
myCommand2.Parameters.AddWithValue("@productID", lblProductID.Text);
con.Open();
myCommand2.ExecuteNonQuery();
con.Close();
MessageBox.Show("Product saved.");
this.LoadProduct((int)cboProductSelect.SelectedValue);
}
else
{
MessageBox.Show("No changes were saved.");
}
}
}
Я использую Sql Server. Я пробовал это, но результаты те же. Это сводит меня с ума, потому что он отлично работает в другом методе, а не в этом. – Katp00p
@ Katp00p, попробуйте добавить int RowsUpdated = cmd.executenonquery ... и затем messagebox the rowsUpdated значение. Вернется ли она с ожидаемым или нулевым записями. – DRapp
Я понял, что проблема ... не имела никакого отношения к запросу, это значение хранилось в lblProductID. Спасибо за вашу помощь, я удалю этот вопрос, чтобы он не смутил людей в будущем. – Katp00p