2016-12-01 52 views
0

我有两个游标用于显示UI中的详细信息。ResultSet实例不为null,但next()调用抛出NullPointerException

headerCur = (ResultSet) cstmt.getObject(4); 
serialCur = (ResultSet) cstmt.getObject(5); 

当用户输入错误的值时,它将转到serialCur.next()

while (serialCur.next()) { 
    // ... 
} 

但是,它抛出了一个NullPointerException

我已经登录并发现serialCur不为空,但next()调用抛出空指针异常无论如何。

这是如何造成的,我该如何解决?

+1

而(serialCur.hasNext()) – MaxG

+2

你能在你的问题提供完整的堆栈跟踪。以及代码 – msagala25

+1

@MaxG在ResultSet上没有'hasNext()' - ['next()'](https://docs.oracle.com/javase/8/docs/api/java/ sql/ResultSet.html#next--)是正确的在这里使用 – JonK

回答

-2

使用

while (serialCur.isBeforeFirst()) { 
// ... 
} 

OR

if(serialCur.isBeforeFirst()) { 
while (serialCur.next()) { 
// ... 
} 
} 

检查,如果结果集都有一个值

相关问题