Я не могу найти, почему это не сработает ... каждый пример, который я нахожу в Интернете, использует эту конструкцию для подготовки строки sql, которая передается в подготовленный оператор ... но когда я делаю то же самое, вопросительные знаки после элемента VALUE становятся КРАСНЫМИ, и когда я смотрю на строку в режиме отладки, метки пусты ????
Intellij говорит, что это могут быть «недействительные токены» ???
Это должно быть что-то простое ... но я не могу это решить !!
Спасибо
public void save() throws SQLException {
final String sql = "INSERT INTO tblDay (PK_DayId, Day, Quota, WeekNo, Note) VALUES (?, ?, ?, ?, ?)";
try(Connection conn = DbHelper.getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql)) {
pstmt.setString(1, id);
pstmt.setString(2, day);
pstmt.setInt(3, quota);
pstmt.setInt(4, weekno);
pstmt.setString(5, note);
pstmt.execute();
}
}
заполнители строк всегда пусты, значения отправляются отдельно и хранятся где-то внутри подготовленного объекта оператора.




Обычные символы внутри строкового литерала не должны отображаться красным цветом. Могут быть задействованы какие-то непонятные символы Unicode, поэтому попробуйте набрать текст, а не копировать / вставлять из другого места.