2015-12-14 3 views
1

Я пытаюсь получить автомобиль из своей базы данных, используя значение FK_adId. Я попытался вызвать метод с FK_adId значением 52, и я проверил, что в моей базе данных существует автомобиль с FK_adId значением 52. Почему он не возвращается ко мне?Query ничего не возвращает из базы данных

public Car getCar(int adId) { 
    Car car = null; 
    try { 
     Class.forName("org.postgresql.Driver"); 
     if (con != null) { 
      ps = con.prepareStatement("SELECT * FROM \"car\" WHERE \"FK_adId\" = ?;"); 
      ps.setInt(1, adId); 
      rs = ps.executeQuery(); 
      rs.next(); 
      if (rs.next()) { 
       car = new Car(rs.getString("brand"), rs.getString("vin"), rs.getString("condition"), rs.getInt("distanceTraveled"), rs.getInt("age"), rs.getInt("price"), rs.getInt("FK_adId")); 
      } 
     } 
    } catch (Exception ex) { 
     System.out.println(ex); 
    } 
    return car; 
} 

ответ

6
 rs.next(); 
    if (rs.next()) { 

Вызов .next() один раз, а не два раза. Вы переходите к первой строке результатов, затем переходите ко второму. Поскольку запрос не возвратил две строки, вы не получите вторую строку. Вы пропустили нужный вам ряд.

+0

большое спасибо, не думаю об этом! – Jesper

Смежные вопросы