问题出在了dbconn.CloseConn();语句的位置上,你在方法1中的循环里关闭了数据库连接,自然ResultSet里打开的游标也会随之关闭,而方法2你是循环完毕才关闭的数据库连接所以不会有问题。

解决方案 »

  1.   

    如  Alex_20(吉尔菲艾斯)
      

  2.   

    对,把你方法一中把dbconn.close();放在for循环之外
      

  3.   

    不好意思,当时那个括号的位置可能不太清楚,dbconn.close()是在循环外面的.现在我改过来了,麻烦大侠们再看一下.多谢了!
    public  Vector  ShowAllTable(){//方法1  
                       String  s1  =  "";  
                           Vector  alltable  =  new  Vector();  
                           sql  =  "select  *  from  tablesports";  
                           try{  
                                   rs  =  dbconn.ExeQuery(sql);  
                           for(;rs.next();)  
                                 {  
                                   Table  table  =  new  Table();  
                                   table.SetFlag(rs.getInt("flag"));  
                                   table.SetTableId(rs.getInt("tableid"));  
                                   table.SetAddress(rs.getString("address"));  
                                   table.SetTablename(rs.getString("tablename"));  
                                   table.SetTheDate(rs.getString("thedate"));  
                                   alltable.add(table);
                                  }  
                            dbconn.close();  
                                   }  
                           catch(SQLException  sqlexception)  
                           {  
                             System.err.println("aq.executeQuery:"  +  sqlexception.getMessage());  
                           }  
                   return  alltable;  
                           }