jdbc的奇怪限制,不能reread row data
一个表有col1,col2,col3
我取数据用
rst.getString("col1");
rst.getString("col2");
rst.getString("col3");
没问题
但用
rst.getString("col1");
rst.getString("col3");
#3 rst.getString("col2");
执行到#3就会出错
[Microsoft][SQLServer 2000 Driver for JDBC]ResultSet can not re-read row data for column 3.
请问ResultSet是不是都只能按照table中column的顺序读取数据,还是根据不同的驱动而不同
问题点数:50、回复次数:4Top
1 楼pleonheart(只睡六小时)回复于 2003-08-03 15:02:28 得分 5
指针已经过去了,不能回去
while (rs.next()) {
rst.getString("col1");
rst.getString("col3");
rst.getString("col2");
}Top
2 楼feiyuegaoshan(飞跃)回复于 2003-08-03 17:21:29 得分 5
本质:
你读取的是流,流是不能回退的。Top
3 楼websa(虫虫)回复于 2003-08-03 19:34:13 得分 40
如果你采用MS自己的JDBC驱动。那么在查询语句中不包含blob或clob字段(就是Image和Text类型)的时候,查询是支持re-read方式的,可以非顺序查询。但是一旦包含的blob或clob字段。那么就必须按照顺序查询,且不支持重复查询
给分吧!Top
4 楼lazy_du(红楼梦魇)回复于 2003-08-04 09:14:41 得分 0
websa(虫虫) 回答得很清楚,谢谢Top




