如何在java代码中从数据库表中获取Max id

Vin*_*ash 6 java sql database oracle

我想编写从表中提供最大id的代码,但它会抛出错误.

码:

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("XXXXX", "XXXX", "XXX");
Statement st2 = con.createStatement();
ResultSet idMax = st2.executeQuery("select nvl(max(work_id),0) from workdetails");
int id2 = idMax.getInt(0);  // throw error: Invalid column index

System.out.println(id2);

// ****************************
int id2 = idMax.getInt("work_id");
System.out.println(id2);   // throw error: ResultSet.next was not called
Run Code Online (Sandbox Code Playgroud)

gio*_*shc 8

结果集从虚拟记录开始,应通过调用next方法前进到真实的第一个记录:

ResultSet idMax = st2.executeQuery("select nvl(max(work_id),0) max_id from workdetails");
int id2 = -1;
if (idMax.next()) {
   id2 = idMax.getInt("max_id");  
}
Run Code Online (Sandbox Code Playgroud)