【发布时间】:2021-10-13 02:21:51
【问题描述】:
我创建了使用语句插入数据库的方法。 我必须用准备好的声明来改变它。我已经阅读了文档,但我不明白。
这是我写的代码:
public void ajouterEntreprise(Entreprise e) {
Statement stm;
try {
stm = cnx.createStatement();
String query = "INSERT INTO `user`(`nom`, `email`, `password`, `tel`,`role`,`offre`) VALUES ('" + e.getNom() + "','" + e.getEmail() + "','" + e.getPassword() + "','" + e.getTel() + " ', " + e.getRole().getId() + ",'" + e.getOffre() + "')";
stm.executeUpdate(query);
} catch (SQLException ex) {
Logger.getLogger(ServiceEntreprise.class.getName()).log(Level.SEVERE, null, ex);
}
}
【问题讨论】:
-
“有人可以向我解释准备好的陈述吗”对于 stackoverflow 问题来说有点宽泛。也许这会有所帮助:The Java Tutorials - Using Prepared Statements
-
我建议你从docs.oracle.com/javase/tutorial/jdbc/basics/prepared.html开始。提示:您的 SQL 不应包含任何值。
-
你应该读一点关于sql注入的知识,几句话就知道是什么了,然后你就可以先明白你为什么要按照教授的要求去做。这应该很容易做到,只需 google 即可。
-
在此处发帖之前,请务必阅读 Oracle Java Tutorials 和维基百科:en.wikipedia.org/wiki/SQL_injection 和 en.wikipedia.org/wiki/Prepared_statement