我使用jsp和sql并且我想使用我已经声明的变量(实体)查询表 这是我的疑问:
..
String **entite**="informatique";
entite="informatique"
...
rs = st.executeQuery ("select * from User where User.id_e= &**entite** ");
entite是一个变量
我的问题是:如何在where子句中使用变量
答案 0 :(得分:1)
我的首选解决方案 - 使用PreparedStatement
?
和setString(...)
作为参数。
请在此处查看更多详情:
http://download.oracle.com/javase/tutorial/jdbc/basics/prepared.html
答案 1 :(得分:0)
最好和最安全的方法是使用PreparedStatement将变量绑定到查询。
例如看(希望链接不会在一秒钟内中断) http://download.oracle.com/javase/1.4.2/docs/api/java/sql/PreparedStatement.html
您可以使用转义技术,但它们容易出错,并且经常导致SQL注入攻击和/或数据库损坏。