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()) {
...
}