小编典典

在结果集中重复检索返回null

java

ResultSet.getString在第一次调用它返回值但第二次返回null的地方遇到问题(这没有关闭结果集或sql连接)

if (rs.getString(i) == null) {
    properties.setProperty(metaData.getColumnLabel(i), "");
} else {
    properties.setProperty(metaData.getColumnLabel(i), rs.getString(i));
}

当然,该代码很容易修复,可以避免第二次调用,rs.getString()但是我想理解的是为什么如果第一个未调用,则第二个返回null


阅读 172

收藏
2020-11-26

共1个答案

小编典典

Javadoc

为了获得最大的可移植性,应按从左到右的顺序读取每一行中的结果集列,并且每一列只能读取一次。

在后台,您正在消耗TCP流中的字节,因此不能两次检索相同的列值也就不足为奇了。

2020-11-26