У меня есть команда UPDATE sql, которая изменяет поле даты / времени в конкретной таблице. В этой таблице есть два ключа, ProductionCode и TestTime, которые изменяются. Производственный код никогда не изменяется для конкретной записи, но часто пользователь обнаруживает, что он ввел неправильное время теста и ему необходимо его изменить.
У меня есть обновленное время, которое я могу получить из таблицы данных, однако мне нужно выбрать правильную запись для изменения. Чтобы сделать это, одним из моих критериев «где» должно быть текущее время, в которое эта запись установлена в базе данных.
В настоящее время я храню массив старых времен, которые обновляются при каждом выполнении команды UPDATE. Таким образом, в блоке WHERE команды sql используется старое время. Как только он обновляется в базе данных, я обновляю массив времени. Трудности возникают, когда время вводится не по порядку или когда таблица данных сортируется в поле, отличном от времени. Я должен следить за тем, в каком порядке все старые времена соответствуют строкам сетки данных, и это вызывало множество ошибок в прошлом. В настоящее время работает нормально, но в лучшем случае деликатно.
Так что я действительно ищу лучшее решение. Должен ли я просто сохранить результаты оператора SELECT, который используется для заполнения пользовательского интерфейса, и положиться на них? В настоящее время единственное место, куда попадают результаты моей базы данных, это непосредственно в таблицу данных. Или есть другой способ? Я избегал автоматического связывания данных в пользу ручного использования команд SQL, потому что мои сетки данных динамически конфигурируются и используют разные схемы от одной загрузки к другой, и единственными столбцами, которые гарантированно присутствуют, являются ProductionCode и TestTime.