Oracle不能嵌套地执行查询操作。本质上说,一个Statement只能有一个ResultSet。
当你开了一个ResultSet,又查询得到一个新的ResultSet的时候,它会把前面的ResultSet关闭。为了避免这个问题,你可以用一个connection开两个Statement;
也可以先把第一次查询得到的结果先保存起来。
当你开了一个ResultSet,又查询得到一个新的ResultSet的时候,它会把前面的ResultSet关闭。为了避免这个问题,你可以用一个connection开两个Statement;
也可以先把第一次查询得到的结果先保存起来。
connect co=new connect("Select ......");
while(co.res.next){
connectno upd=new connectno("update ....");
}
也就是说如果连接没有产生ResultSet就不会有错??
你说的用一个connection开两个Statement具体什么操作?
第二个问题:Statement stmt1 = conn.createStatment(sql1);
ResultSet rs1 = stmt1.executeQuery();
while(rs1.next()){
...
Statement stmt2 = conn.createStatment(sql1);
ResultSet rs2 = stmt1.executeQuery();
rs2.getXXX(1):
rs2.close();
stmt1.close();
}
rs1.close();
stmt1.close();
Statement stmt1 = conn.createStatment(sql1);
ResultSet rs1 = stmt1.executeQuery();
while(rs1.next()){
...
Statement stmt2 = conn.createStatment(sql2);
ResultSet rs2 = stmt2.executeQuery();
rs2.getXXX(1):
rs2.close();
stmt2.close();
}
rs1.close();
stmt1.close();
Statement stmt1 = conn.createStatment(sql1);sql1是SQL语句嘛?? 怎么会在createStatment,不是在executeQuery里嘛?