PreparedStatement ошибка в setString()

98
15 апреля 2021, 16:20

Пытаюсь вытащить из бд значения. Использую PreparedStatement для подготовки sql-запроса. Какая-то аномалия, если я использую метод setString(), то данные не ищутся, но если я буду использовать setInt() и искать данные по id все норм.

void connection_squad(String teamName) throws SQLException{
    String sql = "select * from teams where team_name = ? ";
    PreparedStatement pr = null;
    ResultSet rs = null;
    try {
         pr = connect.prepareStatement(sql);
         //pr.setInt(1, 3);
         pr.setString(1, "Авангард");
         rs = pr.executeQuery();
         while(rs.next()){
             String playerName = rs.getString("team_name");
             System.out.println("Имя команды = " + playerName);
         }
    } catch (SQLException ex) {
        Logger.getLogger(DataBaseRequest.class.getName()).log(Level.SEVERE, null, ex);
    }finally{
        System.out.println("Закрываем потоки бд");
        rs.close();
        pr.close();
    }
}

Вот здесь записей почему то не находит. В БД если выполнить этот же запрос даныне есть

Если же изменяю метод на поиск по id все отрабатывает нормально.

void connection_squad(String teamName) throws SQLException{
    String sql = "select * from teams where id_team = ? ";
    PreparedStatement pr = null;
    ResultSet rs = null;
    try {
         pr = connect.prepareStatement(sql);
         pr.setInt(1, 3);
        //pr.setString(1, "Авангард");
         rs = pr.executeQuery();
         while(rs.next()){
             String playerName = rs.getString("team_name");
             System.out.println("Имя команды = " + playerName);
         }
    } catch (SQLException ex) {
        Logger.getLogger(DataBaseRequest.class.getName()).log(Level.SEVERE, null, ex);
    }finally{
        System.out.println("Закрываем потоки бд");
        rs.close();
        pr.close();
    }
}
Answer 1

Проблема заключалась в кодирвоке бд. Пришлось заменить значения collation_connection, collation_database и collation_server на utf8_general_ci.

READ ALSO
Как сохранить значение переменной

Как сохранить значение переменной

Как сохранить значение переменной типа boolean? Использую javaМожет как то можно через SharedPreferences?

117
Добавление и удаление классов в js

Добавление и удаление классов в js

Как добавить класс блоку и через некоторое время удалить его?

117
Работы с input - ами через js

Работы с input - ами через js

Всем приветВот познаю js и в результате работы сталкнулся со следующий проблемой

112
Как передать контекст?

Как передать контекст?

Допустим есть такой React-компонент, вопрос в том, как передать контекст вызова отсюда:

83