1.问题描述
Java.sql.SQLException: Illegal operation on empty result set.
java.sql.SQLException: Illegal operation on empty result set.
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:855)
at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5773)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5693)
at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5733)
at com.xdf.crm.CrmApplication.quoteDocument(CrmApplication.java:139)
at com.xdf.crm.CrmApplication.main(CrmApplication.java:426)
报错的原因是,查询的结果集 ResultSet 是空的,所以,不能用 rs.getString("");。
通过 rs.next() 来判断查询结果集是否为空。不能使用 rs==null || rs.equals("")来判断
就如果返回true ,就不为空,如果是false,就是空结果集。
一下代码加 非空验证判断,就可以了。
if (!rs.next()) {
...
}