Я написал набор кодов с использованием команды SQL для удаления и обновления записей Access через программу C#. Вот набор кодов:SQL Delete and Update не удалял и не обновлял
Update
OleDbCommand cmd = new OleDbCommand("UPDATE Available SET Status = 'AVAILABLE' WHERE AvailableID = ?", cnn);
cmd.Parameters.Add(new OleDbParameter { Value = id.AvailableID });
cmd.CommandType = CommandType.Text;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
Удалить
OleDbCommand cmd = new OleDbCommand("DELETE FROM Log WHERE LogID = ?", cnn);
cmd.Parameters.Add(new OleDbParameter { Value = l.LogID });
cmd.CommandType = CommandType.Text;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
Программа является исполняемым. Когда я пытаюсь удалить и обновить записи, запись обновления не была обновлена, и удаление записи все еще существует.
Нажатие кнопки удаления удаляет запись в журнале и обновляет продукт в «доступные». Однако статус не изменился, и запись не удалялась.
ли я что-то отсутствует? Я всегда обновляю каждую транзакцию.
Да, заметили splitsecond сразу после публикации - я удалил комментарий :) .. но транзакция? где транзакция? Вы это совершаете? –
@retailcoder Нет явной транзакции. Каждый оператор имеет неявную транзакцию. – ErikE
@ErikE действительно? Я только что узнал, спасибо! По 'statement' вы имеете в виду' command' правильно? Это также относится к командам, выполняемым в отношении соединений SQL Server? –