2014-03-25 77 views
0
Connection con = ConnectionProvider.getCon(); 
Statement s_sickLeave = con.createStatement("select count(leavetypeid) from leave where leavetypeid=2"); 
ResultSet rs_sickLeave = s_sickLeave.executeQuery(); 
Integer sick_leave_count = rs_sickLeave.getInt(1);//line 4 

我在第4行收到異常。如何訪問查詢返回的計數值?查詢返回的訪問計數

回答

0

您必須遍歷結果集才能讀取每一行。

更改

​​

ResultSet rs_sickLeave = s_sickLeave.executeQuery(); 
if (rs_sickLeave.next()) { 
    Integer sick_leave_count = rs_sickLeave.getInt(1);//line 4 
} 

由於count(x)返回單行,你可以遍歷只爲單行。否則使用while(rs.next())循環語法。

參見

ResultSet.next()
從其當前位置前移一行移動光標。結果集遊標最初位於第一行之前;下一個方法的第一個調用使第一行成爲當前行;第二次調用使第二行成爲當前行,依此類推。