郁闷死了,这个小问题害的我改了一天,看来还是基本功不到家,希望大家别犯这个错了:
如下代码就会引发这个错误:
resultSet = stmt.executeQuery(sqlStr);
if (resultSet !=null ) {
resultSet.getInt(1);
}
错误原因:
这是因为ResultSet的游标指向开头,为空所以 resultSet.getInt(1); 会认为游标指向了结尾——也就是游标记录遍历“尽”了。
将代码改为:
resultSet = stmt.executeQuery(sqlStr);
if (resultSet.next()){
resultSet.getInt(1);
}
如下代码就会引发这个错误:
resultSet = stmt.executeQuery(sqlStr);
if (resultSet !=null ) {
resultSet.getInt(1);
}
错误原因:
这是因为ResultSet的游标指向开头,为空所以 resultSet.getInt(1); 会认为游标指向了结尾——也就是游标记录遍历“尽”了。
将代码改为:
resultSet = stmt.executeQuery(sqlStr);
if (resultSet.next()){
resultSet.getInt(1);
}