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行遇到异常。如何访问查询返回的计数值?
最佳答案
您必须遍历结果集以读取每一行。
更改:
ResultSet rs_sickLeave = s_sickLeave.executeQuery();
Integer sick_leave_count = rs_sickLeave.getInt(1);//line 4
至:
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()
将光标从当前位置向前移动一排。 ResultSet游标最初位于第一行之前;第一个对方法的调用接下来使第一行成为当前行;第二个调用使第二行成为当前行,依此类推。
关于mysql - 查询返回的访问次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22626950/