java.sql.SQLException: Before start of result set常见场景
Posted 滑稽404#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.sql.SQLException: Before start of result set常见场景相关的知识,希望对你有一定的参考价值。
1、Exception
java.sql.SQLException: Before start of result set
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.result.ResultSetImpl.checkRowPos(ResultSetImpl.java:484)
at com.mysql.cj.jdbc.result.ResultSetImpl.getObject(ResultSetImpl.java:1283)
at com.mysql.cj.jdbc.result.ResultSetImpl.getInt(ResultSetImpl.java:786)
at com.mysql.cj.jdbc.result.ResultSetImpl.getInt(ResultSetImpl.java:807)
2、ResultSet的next方法
返回单个对象的情况,我原以为可以直接拿rs的数据,结果一直报错,没发现错哪
然后我输出rs.next()发现也是true,说明是获取到结果集了
然后我想起了一起get前都要加next,然后试出来了
3、next原理:
- ResultSet对象获取结果集后位于第0条,没有数据
- 通过next移到下一条,如果没有返回false,有的话移到下一条数据并返回true
- 所有如果没有next的话是移动不到有数据的那一条的
- 希望世界没有bug
以上是关于java.sql.SQLException: Before start of result set常见场景的主要内容,如果未能解决你的问题,请参考以下文章
java.sql.SQLException: Connections could not be acquired from the underlying database!
Caused by: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java
java.sql.SQLException: java.lang.ClassCastException:java.math.BigInteger cannot be cast to java.lang
Value '0000-00-00' can not be represented as java.sql.Date解决办法
java.sql.SQLException:getShort() 的值无效 - ''
java.sql.SQLException: SQL 语句在 org.hsqldb.jdbc.JDBCUtil.sqlException 处关闭