Вставка переменной в SQL-запрос из Java
Как вы вставляете переменные в 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, тогда будет отображаться только верхняя часть.
Ответы
Ответ 1
Попробуйте этот код:
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);
}
}
Ответ 2
Положите? в желаемом месте переменной. Затем из этого API вызовите метод set для типа переменной.
http://docs.oracle.com/javase/7/docs/api/java/sql/PreparedStatement.html
В вашем случае вам нужен int, поэтому вызовите ps.setInt(1,x)
. Если вам нужно несколько переменных, или в терминах SQL "параметр" - просто используйте несколько ?
. Для методов setprementStatement требуется индекс параметров. Максимальный индекс равен количеству ?
, которое у вас есть в вашем запросе.