小编典典

查询未从数据库返回任何内容

java

我正在尝试使用value从数据库中获取汽车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;
}

阅读 261

收藏
2020-11-26

共1个答案

小编典典

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

打电话.next()一次,不要两次。您前进到结果的第一行,然后前进到第二行。由于查询未返回两行,因此不会获得第二行。您跳过了想要的行。

2020-11-26