从rs中读取各个列值可以打乱顺序读吗?
st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
这种情况下,如果select *,或者把所有的列都写全,那么打乱顺序读就会报异常,如果select 一些列,而不是所有的列,就可以打乱顺序读。
异常如下:ResultSet can not re-read row data for column 1.(这是第一列顺序被打乱的时候)
如果 st = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
那么在那种情况下都可以打乱顺序读去各个列。请问这是为什么?
我说的读取列值是下面的意思:
System.out.println(rs.getObject("id"));
System.out.println(rs.getObject("title"));
System.out.println(rs.getObject("content"));
System.out.println(rs.getObject("sendDate"));
System.out.println(rs.getObject("userId"));