Statement.executeUpdate不能在while(RestleSet.next())里面使用?碰到个奇怪问题
stm = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rst = stm.executeQuery( "select * from url where ischeck <> 0 order by count6 ");
然后我循环取得rst里面的值,
String url = " ";
int i = 1;
while(rst.next()){
url = rst.getString( "url ");
stm.executeUpdate( "update url set count = "+i+ " where url= "+url);
i++;
}
大致的流程就是这样的,我先取得了一个结果集,然后循环得到这个结果集的内容,根据得到的这个内容我再做一次更新的操作,结果报错,不让执行。
然后我又换了rst.updateRow()的方法,结果还是报错,说
row update failed,
纳闷勒,应该可以啊,我创建的Statement是可更新的啊,这是为什么?
弄的我现在只有先暂存到一个数组里面,然后再循环输出这个数组的值来更新..- -#
------解决方案--------------------rs.updateRow()可以,executeUpdate行不行我没试过。
你先试试吧。