我正在尝试获取结果集第一行中的第一列。我知道我可以改变我的SQL查询来做到这一点。但不是。我想要全桌,我只想做我刚刚提到的事情。
注意 - Winners是我的SQL查询中的别名列。
错误基本上是 -
com.microsoft.sqlserver.jdbc.SQLServerException:
The result set has no current row.
更多错误 -
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyResultSetHasCurrentRow(SQLServerResultSet.java:483)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(SQLServerResultSet.java:2047)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2082)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2067)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getString(SQLServerResultSet.java:2401)
这是我到目前为止所尝试过的,我需要你的帮助来解决它 -
ResultSet rs = statement.executeQuery("get a whole table"); //pseudocode
try{
rs.next();
numberOne = rs.getString("Winners");
rs.first();
} catch (SQLException e) {
e.printStackTrace();
}
答案 0 :(得分:5)
结果集中可能没有任何内容。使用
if (rs.next()) {
numberOne = rs.getString("Winners");
}