查询不返回数据库
我正在尝试使用值FK_adId
从我的数据库中获取汽车。 我尝试用FK_adId
值52调用该方法,并且我检查了我的数据库中存在FK_adId
值为52的汽车。 为什么不归还给我?
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; }
rs.next(); if (rs.next()) {
调用.next()
一次,而不是两次。 您前进到结果的第一行,然后前进到第二行。 由于查询没有返回两行,因此不会获得第二行。 你跳过了你想要的那一行。