5

我正在尝试获取结果集第一行中的第一列。我知道我可以更改我的 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();
}
4

1 回答 1

5

您的结果集中可能没有任何内容。利用

if (rs.next()) {
    numberOne = rs.getString("Winners");
}
于 2013-05-28T21:46:52.580 回答