你得到rs后马上就在finally里把它关掉,那么你得到它也没有用处啊。
你应当在使用rs之后,确定不会在用到这个rs了,就rs.close();

解决方案 »

  1.   

    只rs.close();那connection, statement不会被关掉啊。
    各位,在这方面有没有什么好的方法。
      

  2.   

    方法1.把结果提取到一个容器,返回容器
    方法2.用javax.sql包,采用JNDI的方式获得一个DataSource的方式进行数据库链接
      

  3.   

    是用类组合的方式!!!
    class DB 
    {
          DB(){}
          public Connection con;
          public Statement stmt;
          /*
          ...........  Instantiate object;
          */
         protected void finalize()
         {
               con.close();
               stmt.close();
         }
    }其他的 BEAN 中声明 DB 对象。
      

  4.   

    TO: King6860() 
    那要不要在每页调用方法finalize()?
    我记得好像JAVA会自动调用这个方法。
      

  5.   

    try{
     rs = state.exe.....;
    }
    catch(...) {}
    finally{}
    return rs;.
    .
    .public void close()
    {
       try 
    {
         if (conn != null) 
    {
           conn.close();
         }
         if (pstmt != null) 
    {
           pstmt.close();
         }
      }
       catch (SQLException ex) {
       }
        }这样OK?
      

  6.   

    public void close()
    {
       try 
    {
         if (rs != null) 
    {
           rs.close();
         }
                      if (conn != null) 
    {
           conn.close();
         }
         if (pstmt != null) 
    {
           pstmt.close();
         }
      }
       catch (SQLException ex) {
       }
        }
      

  7.   

    To: Iamnomad(浪子)
    主要问题是在哪里调用这些关闭的方法。