Resultset rs=stmt.executeQuery("select count(*) from feedsca group by score order by score");
Используя приведенный выше Java-код, я получаю количество строк из таблицы с именем feedsCA.
При попытке получить число с помощью rs.getInt (1), rs.getInt (2), rs.getInt (3), я заканчиваю сообщением об ошибке, как показано ниже:
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The result set has no current row.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyResultSetHasCurrentRow(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
at SimpleMail.main(SimpleMail.java:151)
ОБНОВЛЕНИЕ:
Это исключение устранено.
Но я получаю следующее исключение, для которого я не знаю причину.Пожалуйста, сообщите.
Exception in thread "main" com.microsoft.sqlserver.jdbc.SQLServerException: The index 2 is out of range.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyValidColumnIndex(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
at SimpleMail.main(SimpleMail.java:152)
Так я обновил свою программу.Найдите мне логичный способ, поскольку я хорошо понимаю, что приведенный ниже цикл не будет работать должным образом.
rs=stmt.executeQuery("select count(*) from feedsca group by score order by score");
while(rs.next()){
pw.printf(rowFormat, rs.getLong(1),"0",rs.getLong(2),rs.getLong(3));}