读了一下,你的程序应该有2个方面的问题.1.rs未关闭,有可能还是从缓存中取的数据2.关闭的位置不对,a.不应该在循环里面.b.不应该在catch前面,假如你前面的部分发生异常.那么程序直接被catch捕捉,就执行不到数据库关闭了.会造成conn得不到释放!最好放在finally里面,总能得到正确执行.try{ while(rs.next()){
String cityname=rs.getString(2);
String citycode=rs.getString(3);
System.out.println("城市:"+cityname);
System.out.println("代码:"+citycode);}
}}catch(Exception e){ e.printStackTrace();}finally{
if(rs!=null) rs.close();
if(stmt!=null)stmt.close();
if(conn!=null)conn.close();}
|