но когда я обновляю определенное поле, другие поля будут "" в операторе SQL.
Я не уверен, является ли это полным кодом (показанный SQL дал бы исключение синтаксиса SQL при выполнении), но вы по крайней мере не должны ставить запятую между SET
иимя первого столбца.
Если SQL на самом деле синтаксически действителен, то это может просто означать, что эти переменные пусты в тот момент, когда вы обращаетесь к ним, чтобы встроить в оператор SQL.Вы должны либо предварительно заполнить эти переменные, либо просто оставить связанные столбцы вне SQL-запроса, если они не нуждаются в обновлении.
Кроме того, у меня проблема в том, что я пропустилсовпадение по дате, поэтому какой формат лучше всего применять в операторе SQL в моем jsp.
Лучший подход - не беспокоиться о формате и просто установить полноценный объект Java, представляющийотметка времени в выражении SQL с использованием PreparedStatement#setTimestamp()
.Также посмотрите этот недавний вопрос .
Тем не менее, у вас есть две основные проблемы в коде.
Необработанный Java-код в JSPфайлы следует избегать.Это приводит к проблемам во всех цветах, не только для вас, но и для других, сейчас и в будущем.
Этот SQL чувствителен к SQL-инъекция атакует , а код JDBC подвержен утечке ресурсов.
Это будет длинная история, чтобы объяснить, как все делать правильно, поэтому вот лишь несколькоссылки, чтобы пройтись самостоятельно, чтобы получить представление о том, как все делать правильно.
Вам, вероятно, следует выбросить старомодное учебное пособие / книгу по JSP, которое вы сейчас читаете.