Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 基于此方法中的此db查询,我需要返回最后一条记录。有时,此查询将返回多条记录_Java_Database_Postgresql_Jsp - Fatal编程技术网

Java 基于此方法中的此db查询,我需要返回最后一条记录。有时,此查询将返回多条记录

Java 基于此方法中的此db查询,我需要返回最后一条记录。有时,此查询将返回多条记录,java,database,postgresql,jsp,Java,Database,Postgresql,Jsp,//此查询可以返回多条记录,在有多条记录的情况下,始终返回查询中的最后一条记录 public People(int peopleId) { Prepared Statement SQL= null; try { System.out.println("Getting Phone for " + personSerId); Prepared SQL= new DatabaseController(verbose);

//此查询可以返回多条记录,在有多条记录的情况下,始终返回查询中的最后一条记录

public People(int peopleId) {

        Prepared Statement SQL= null;
        try {
            System.out.println("Getting Phone for " + personSerId);
            Prepared SQL= new DatabaseController(verbose);

            PreparedStatement secureStatement = prepareStatement(sqlStatement);
            s
            dbConnection.querySecureRecord(SQL);
               (((File) ("item")));
                theNumber.setPhone((String) dbConnection.getField("phone"));
                theNumber.phone(dbConnection.getField("number") == null ? "" : (((String) 
            }
        } catch (Exception masterException) {
            System.err.println("Database Query Error in : " + masterException);

        return the person;
    }

你必须做三件事

  • 指定订购依据(id、创建日期…):
  • 按降序排列,所以列表中的第一件事就是你想要什么
  • 将查询限制为1

  • 似乎有一个问题是,即使只需要一个结果,数据库控制器也要迭代结果集。因此,即使只有一个(或可能没有)结果可获得,您可能仍必须从列表中获得“第一个”结果。

    查询是否保证了顺序?只需按需要的方式对行进行排序即可。在查询的末尾加上“orderbyid desc”。谢谢Olek,我想这可能行得通。指南针顺序基于上次插入的将显示在排序的最后。如果我只想返回最新的、单个记录,而不是desc排序的组,该怎么办?谢谢大家的帮助。伙计们按订单是行不通的。我需要得到查询结果中的最后一条记录,。所以forloop可能很有用,并返回最后一次迭代。有人能帮忙吗?谢谢你的回复。这是一种独特的情况,如果用户更新列,id将保持不变,因此按id排序将不起作用。根据查询结果,在这种特殊情况下,最后一个结果始终是我想要的结果。我是db新手,如何通过使用循环更改代码以返回上一个结果。只返回-1?这不是唯一的。id应该始终保持不变,这就是id的意思,它是标识对象的东西。如果您看到我的参考,您将看到,如果没有指定订单,您不能指望特定的订单。因此,如果需要向该表中添加一个col,您可以按其排序。或也许您可以向db控制器添加一个方法,将其跳转到最后一个结果集,并调用该方法,而不是while循环。“也许您可以向db控制器添加一个方法,将其跳转到最后一个结果集,并调用该方法,而不是while循环”如果它已经有类似于
    getLast()的方法,我将使用该方法
    而不是
    .nextRecord()?