Как я могу использовать подготовленные операторы SQL в сервлете? - PullRequest
0 голосов
/ 03 ноября 2019

Если мне нужно использовать подготовленное утверждение, что мне делать?

Statement statement = conn.createStatement();
String sql ="SELECT * FROM polls WHERE pollname LIKE '%"+search+"%' or side1 LIKE '%"+search+"%' or side2 LIKE '%"+search+"%' ORDER BY totalvotes DESC";

ResultSet resultSet = statement.executeQuery(sql);
if(resultSet.next() == false){

1 Ответ

1 голос
/ 03 ноября 2019

С PreparedStatement, используйте ? для параметра-заполнителя, затем используйте setXXX для установки значения параметра по индексу параметра (параметр Index начинается с 1, а не 0).

Ниже кода:

PreparedStatement preparedStatement = conn.prepareStatement(
            "SELECT * FROM polls WHERE pollname LIKE ? or side1 LIKE ? or side2 LIKE ? ORDER BY totalvotes DESC");

String searchWizard = "%" + search + "%";
preparedStatement.setString(1, searchWizard);
preparedStatement.setString(2, searchWizard);
preparedStatement.setString(3, searchWizard);
ResultSet resultSet = preparedStatement.executeQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...