从google上搜了一下,很多人碰到这个问题,也给了解答:
是微软提供的驱动的问题,那具体的解决办法如下所列:
(1)如果采用jdbc-odbc驱动,那么就必须按照查询顺序来一次读取(不论有没有image或text类型)
(2)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,不存在image或text类型字段,那么可以按照无序获取
(3)如果采用微软提供的ms sql server jdbc driver,如果查询语句中,存在image或text类型字段,那么就必须按照顺序读取,否则就会报告Driver]ResultSet can not re-read row data for column之类的错误
(4)如果想不查询语句中有没有image或text类型字段,都可以不按照顺序获取,或重复获取。那么就必须更换驱动,改用第三方的。
那我遇到的问题是进行了重复的读取,在结果集中使用rs.getString("name")了好几次,那根据第三个方法,按照顺序读取并不重复的话,问题就解决了。