我在Sybase ASE上运行一个查询,该查询生成一个ResultSet,然后遍历并将其写出到文件中.有时,这将引发NullPointerException,指出ResultSet为null.但是,它将在打印出一两个记录后执行此操作.其他时间,使用相同的准确输入,我不会收到任何错误.
我一直无法始终产生此错误.错误消息指向一行:
output.print(rs.getString(1));
由于某种原因,当查询需要更长的时间才能运行时,就会发生这种情况.到目前为止,记录集的回报非常小(4到7条记录).有时我必须运行该应用3到4次,然后错误才会停止,就好像查询正在“热身”一样.我已经手动运行查询,似乎没有任何性能问题.
再次感谢!
解决方法:
您确定是ResultSet为空,而不是rs.getString(1)吗?
这是一个典型的Java查询
preparedStatement.setLong(1, primaryKey);
ResultSet rs = preparedStatement.executeQuery();
while (rs.next())
{
String foo = rs.getString(1);
if (foo != null)
...
}