java ResultSet,使用MAX sql函数

Hel*_*nar 7 java sql database jdbc

你好,这就是我想要的,我连接到DB并检索UniqueId列的最大元素,并将其分配给名为maxID的整数变量,这是我的方法:

int maxID = 0;
Statement s2 = con.createStatement();
s2.execute("SELECT MAX(UniqueId) FROM MyTable");    
ResultSet rs2 = s2.getResultSet(); // 
while ( rs2.next() ){
  maxID = rs2.getInt(0);
}
Run Code Online (Sandbox Code Playgroud)

什么是解决这个问题的好方法,在循环中使用"rs2.next()"感觉就像一种非常粗糙的方式.

谢谢

Bor*_*vić 13

if (rs2.next()) {
  maxID = rs2.getInt(1);
}
Run Code Online (Sandbox Code Playgroud)


Bom*_*mbe 11

鲍里斯帕夫洛维奇几乎是对的.

if (rs2.next()) {
  maxID = rs2.getInt(1);
}
Run Code Online (Sandbox Code Playgroud)

结果集中的列是从1开始的.而对于使用的原因if,而不是while在于你只执行查询返回单行.