Connection conn = getConncetion();//获取oracle连接的方法
         ResultSet rs = null;
         PreparedStatement ps = null;
         String sql = "";
         try
         {
         sql = "select * from tablename";
    ps = conn.prepareStatement(sql);
             rs.excuteQuery(sql);
             while(rs != null && rs.next() )
             {
         String strNo = (String) rs.getObject(1);
String strName = (String) rs.getObject(2);
             }
             catch(Exception ex)
             {
                  System.out.print(ex.getMessage());
              }
              finally
              {
                      try
                      {
                           conn.close();
                           ps.close();
                           rs.close();
                       }
                       catch(Exception ex)
                       {}
               }

解决方案 »

  1.   

    查询回来的结果集数目不对,我的表中一共有11条数据,但是在循环中只执行了两次循环就跳出了,抛出:用尽的ResultSet 的异常
      

  2.   

    while(rs != null && rs.next() )
    我不是什么高手,不过我一般都不写rs!=null
    你把这行去掉试试
      

  3.   

    如果rs为空的话rs.next就是假,所以我认为没必要多加那部分
      

  4.   

    rs.excuteQuery(sql);
    不是rs=state.excuteQuery(sql); ??
      

  5.   

    为什么先关connection 后关resultset,怎么想的?
      

  6.   

    改一下吧!
    try
                          {
                              rs.close(); 
                               ps.close();
                               conn.close();
                           }
                           catch(Exception ex)
                           {}
    再有就是把数据库重启一下了
      

  7.   

    我一般这么写:
    String strSql = "************";
    try{
    Statement stmt = conn.createStatement();
    ResultSet rs = stmt.executeQuery(strSql);
    }catch(Exception e){
    }没出过问题,要不你也试试?
      

  8.   

    这里不要用finally,
    它是不管发不发生异常,都会执行的。这样你在第一个循环的时候就把rs流关闭了