Как обновить базу данных с помощью UPDATE peramatized querys
Если содержимое метки совпадает с содержимым ячейки в столбце 'column1' (столбец идентификатора заказа) базы данных (аналогично концепции формы входа в систему), измените значение ячейки 4 (статус заказа) в этой конкретной строке (и только в этой строке) на конкретное значение в текстовом поле
Однако когда я запускаю программу и проверяю базу данных, чтобы увидеть, что текст в ячейке местоположения был обновлен, это не так . Я проверил, и я не уверен, где он находится.
if (result == DialogResult.Yes) { OleDbDataAdapter da = new OleDbDataAdapter("Select * from [Customer Orders] WHERE [OrderID] = @orderID", MAcon); //'"+orderID+"'", MAcon); da.SelectCommand.Parameters.AddWithValue("@OrderID", orderID); //.Text DataTable dtbl = new DataTable(); da.Fill(dtbl); if (dtbl.Rows.Count == 1) { OleDbCommand cmd = new OleDbCommand("UPDATE [Customer Orders] SET OrderStatus= @OrderStatus WHERE OrderID = @orderId", MAcon); MAcon.Open(); cmd.Parameters.AddWithValue("@OrderID", orderID); cmd.Parameters.AddWithValue("@OrderStatus", Location.Text); cmd.ExecuteNonQuery(); MAcon.Close(); DialogResult finish = MessageBox.Show("Production has begun", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
Что я уже пробовал:
if (result == DialogResult.Yes) { OleDbDataAdapter da = new OleDbDataAdapter("Select * from [Customer Orders] WHERE [OrderID] = @orderID", MAcon); //'"+orderID+"'", MAcon); da.SelectCommand.Parameters.AddWithValue("@OrderID", orderID); //.Text DataTable dtbl = new DataTable(); da.Fill(dtbl); if (dtbl.Rows.Count == 1) { OleDbCommand cmd = new OleDbCommand("UPDATE [Customer Orders] SET OrderStatus= @OrderStatus WHERE OrderID = @orderId", MAcon); MAcon.Open(); cmd.Parameters.AddWithValue("@OrderID", orderID); cmd.Parameters.AddWithValue("@OrderStatus", Location.Text); cmd.ExecuteNonQuery(); MAcon.Close(); DialogResult finish = MessageBox.Show("Production has begun", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } } }
F-ES Sitecore
Пожалуйста, научитесь задавать правильные вопросы, помните, что у нас нет доступа к вашим данным, мы не знаем, какие входные данные находятся в вашей форме, если вы сбрасываете код, который полагается на ваши данные и ваши входные данные, мы не можем сказать вам, почему он не работает. Научитесь использовать отладчик и пошагово выполнять свой код, затем научитесь давать подробную информацию о том, что происходит, а что нет, и тогда, возможно, кто-то сможет лучше угадать, в чем может быть проблема.
Richard MacCutchan
Почему вы игнорируете возвращаемое значение из ExecuteNonQuery
Это скажет вам, сработало ли обновление или нет.