编程过程中发现这样的问题:ResultSet rs, 当执行好查询之后操作比如 rs.getInt(1),会发生异常:
com.microsoft.sqlserver.jdbc.SQLServerException: ResultSet 没有当前行。
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.verifyOnValidRow(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getterGetColumn(Unknown Source)
at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getInt(Unknown Source)
在这行之前添加了rs.next()操作就可以了,查询了一下文档才知道了原因。
java.sql
Interface ResultSet
boolean | next() Moves the cursor down one row from its current position |
| Method Detail |
next
public boolean next()
throws SQLException
-
Moves the cursor down one row from its current position. A
ResultSetcursor is initially positioned before the first row; the first call to the methodnextmakes the first row the current row; the second call makes the second row the current row, and so on.If an input stream is open for the current row, a call to the method
nextwill implicitly close it. AResultSetobject's warning chain is cleared when a new row is read. -
-
Returns:
-
trueif the new current row is valid;falseif there are no more rows
Throws:
-
SQLException- if a database access error occurs
-
926



被折叠的 条评论
为什么被折叠?



