如何将变量插入SQL查询?
这就是我到目前为止......
public String getBugList(int amount) {
Connection con = DatabaseConnection.getConnection();
try (PreparedStatement ps = con.prepareStatement("SELECT submitter, report FROM bugs_log ORDER BY id DESC limit ))
}
我正在尝试列出“数量”错误。因此,如果我输入2,那么只会列出前2名。
答案 0 :(得分:11)
试试这段代码:
public String getBugList(int amount) {
Connection con = DatabaseConnection.getConnection();
String query = "SELECT submitter, report FROM bugs_log ORDER BY id DESC limit ?";
try(PreparedStatement ps = con.prepareStatement(query)) {
ps.setInt(1, amount);
}
}
答案 1 :(得分:2)
放一个?在期望的变量位置。然后,从此API中,为变量类型调用set方法。
http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html
在你的情况下,你想要一个int,所以调用ps.setInt(1,x)
。如果你想要多个变量,或者在SQL术语中需要一个"参数" - ,只需使用多个?
即可。 PreparedStatement setter方法需要参数index。最大索引等于查询中?
的数量。