在java中写如下语句:
ResultSet jshtzb_r= toUpdate.executeQuery("select * from jshtzb ");
t=1;
while(jshtzb_r.next()){
int year1=jshtzb_r.getInt("year1");
toUpdate.executeUpdate("update jshtzgsb set yearn=" + year1 +" where ID="+t+"");
t++;
}
当执行while时jshtzb_r.next()则循环调用数据表jshtzb的每行。可是数据表有5行,但是只循环了1次。为什么?
这是哪里出错呢?
前辈高手们帮忙哦!小弟万分感谢!
ResultSet jshtzb_r= toUpdate.executeQuery("select * from jshtzb ");
t=1;
while(jshtzb_r.next()){
int year1=jshtzb_r.getInt("year1");
toUpdate.executeUpdate("update jshtzgsb set yearn=" + year1 +" where ID="+t+"");
t++;
}
当执行while时jshtzb_r.next()则循环调用数据表jshtzb的每行。可是数据表有5行,但是只循环了1次。为什么?
这是哪里出错呢?
前辈高手们帮忙哦!小弟万分感谢!
while(jshtzb_r.next()){
int year1=jshtzb_r.getInt("year1");
toUpdate.executeUpdate("update jshtzgsb set yearn=" + year1 +" where ID="+t+"");
//这样做会不会把resultset的指针给改变了 在外面更新试试
t++;
}
List l = new ArrayList(
while(jshtzb_r.next()){
int year1=jshtzb_r.getInt("year1");
l.add(""+year1);
}
for(int i = 0 ;i< l.size();i++){
toUpdate.executeUpdate("update jshtzgsb set yearn=" + l.get(i) +" where ID="+(i+1)+""); }
这个返回一个int型,你需要int a=toUpdate.executeUpdate("update jshtzgsb set yearn=" + year1 +" where ID="+t+"");