2015-12-14 164 views
0

我正在尝试使用值FK_adId从我的数据库中获取一辆车。我试着用FK_adId的值52来调用该方法,并且我检查了数据库中存在值为FK_adId的汽车。为什么它没有回到我身边?查询不会返回任何内容

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; 
} 
+3

您是否尝试执行查询SELECT * FROM car WHERE FK_adId = 52;直? – BuahahaXD

回答

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

该代码的意思是,你可以尝试得到ResultSet的第2行,因为它看起来像有一个单行FK_adId = 52,你将一无所有的第二次。

相关问题