刚才编码的时候,我一开始顺顺利利,一点困难都没有,可是后来突然tomcat总提示我jdbc出现
ResultSet can not re-read row data for column错误,一开始从这句话上看不出个所以然来,于是我便一边一边的查错,可以我觉得代码一点问题没有啊,后来去google了一下,来是微软公司的驱动的兼容性不太好,faint,浪费了我小半个小时。我把错误贴出来,真是郁闷。
select column1,column2,column3 from table这句话一点错没有,后面我是这么写的
String N1=Rst.getString("column1");
int N2=Rst.getInt("column3");
String N3=Rst.getString("column2");当然,前面的执行语句省略了。
这么看也没有任何毛病吧,可是出错在那里呢?
大家挺住不要摔倒,我要告诉你们正确答案了----------------------顺序错了。。。
抓狂了吧,反正我看到着都想去去撞墙。
然后给个解决方案吧,出了这个问题超级郁闷。
下面的解决方案是网上高人说的:
(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类型字段,都可以不按照顺序获取,或重复获取。那么就必须更换驱动,改用第三方的。
我反正懒得再去搜驱动了,直接改顺序。。。