2009-04-22 105 views

回答

4

您应该使用:isLast()代替。

请注意,并非所有JDCB驱动程序都支持此功能。显然你必须检查你的安装。

最主要的数据库工作正常。

固定代码应该看起来像这样。

if(rs.isLast()) { 
    // do last record processing 
} 
2

就个人而言,我会宣布,从外循环查询检索到的变量,然后在循环之后做“最后一个记录处理”。

ResulSet rs = stmt.executeQuery(); 
long primaryKey; 

while (rs.next()) { 
    primaryKey = rs.getLong(1); 
    .... //do regular processing 
} 

// Do last record processing. 
System.out.println("last primary key = " + primaryKey); 
2

否:rs.last()实际上会将游标发送到ResultSet中的最后一行,这绝对不是你想要做的。您只能从结果集中处理至多2行(第一个和最后一个)。