从rs中读取各个列值可以打乱顺序读吗?

funcreal 2004-10-15 06:29:53
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"));

...全文
90 点赞 收藏 4
写回复
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ji66 2004-10-18
好像不可以
回复
funcreal 2004-10-16
突然发现,如果数据类型是text,那么就不能被打乱顺序读取,有高手指点一下吗?这究竟是为什么?
回复
yangsm 2004-10-16
这个应该不影响,按一楼所说的,把你所需要的列读出就可以了!
回复
mightyjiang 2004-10-15
用rs.getobject("name")不用rs.getobject(1)就可打乱次序
回复
发动态
发帖子
Web 开发
创建于2007-09-28

7.9w+

社区成员

Java Web 开发
申请成为版主
社区公告
暂无公告