Я побежал FindBugs и это ошибка в строке 2.FindBugs говорит, что мне нужно «использовать подготовленное заявление»? Как?
Statement st = con.createStatement();
st.executeUpdate("UPDATE menu set menu.name'"
+ value2 + "', menu.info'" + value3
+ "', menu.price'" + value4
+ "' where menu.menuID='" + value1 + "'");
JOptionPane.showMessageDialog(p2,
"Updated successfully");
con.close();
} catch (Exception ex) {
JOptionPane.showMessageDialog(p2,
"Error in updating edit fields");
}
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(p2, "Error");
}
}
});
Я побежал FindBugs и это ошибка в строке 2.
Bug: ie.lyit.flight.Changeadd $ 5. actionPerformed (ActionEvent) передает непостоянную String методу execute или addBatch в операторе SQL. Метод вызывает метод execute или addBatch в операторе SQL со строкой, которая, как представляется, динамически генерируется. Вместо этого рассмотрите использование подготовленного заявления. Он более эффективен и менее уязвим для атак SQL-инъекций.
Ранг: Настораживает (10), уверенность в себе: Высокий Выкройка: SQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE Тип: SQL, Категория: Безопасность (Security)
мне было интересно, если кто-нибудь знает, как избавиться от этой ошибки и как Я бы это сделал?
Может быть, «используя подготовленное заявление вместо»? Можете ли вы более подробно рассказать о своей проблеме в деталях? – Marvin
Да и как я могу исправить свою возможность, сделав это, и используя подготовленное заявление – reginafalange101
Обязательно: https://xkcd.com/327/ –