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

时间:2015-11-29 23:10:08

标签: java jdbc

我遇到了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(),但我想要理解的是,如果第一个没有'

1 个答案:

答案 0 :(得分:7)

来自Javadoc

  

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

在幕后,你正在消耗来自TCP流的字节,所以你不能两次检索相同的列值就不足为奇了。