递归循环是从向量中取数据,生成一棵树
我找了一个递归循环生成树,可使只能显示一部分,不能完全从数据库里取出数据,我先将循环部分代码贴出: 
 rootNode         =         new         DefaultMutableTreeNode( "Root ");                
       jTreeCatalog         =         new         JTree(rootNode);                
       //调用递归生成树方法          
       generateCatalogTree(0,rootNode);          
       //递归生成树方法          
       //-----         pNode是父节点         ------   ID为节点的ID,对应数据库表中的ID字段                
       private   void   generateCatalogTree(int   ID,DefaultMutableTreeNode      pNode){                
       //循环递归id         parentid                
       ResultSet         rs=null;                
       DefaultMutableTreeNode         childNode         =         null;                
       try{                
       st.setInt(1,ID);                
       rs         =         st.executeQuery();                
       while         (rs.next()){                
       childNode=new   DefaultMutableTreeNode(rs.getString( "Name ").trim());                
       pNode.add(childNode);                
       generateCatalogTree(rs.getInt( "ID "),childNode);                
       }                
       }catch(Exception         e){                
       e.printStackTrace();                
       }                
       }   
 递归循环由子目录返回到父目录时,父目录的结果集已经关闭会出错。 
 原贴的解决办法是:先将数据取出来存入向量中,递归循环是从向量中取数据。 
 可使我不知道怎么使用向量取数据,还请各位高手帮帮忙!!! 
 最好写出循环的代码,谢谢!
------解决方案--------------------使用ArrayList就可以。
------解决方案--------------------这个会关闭是因为用了同一个Statement的问题,如果用两个不同的Statement产生一个父结果集一个子结果集,我想应该不会出现这样的问题吧.关注
------解决方案--------------------在递归循环中不停的取ResultSet效率是很低的,楼主还是应该先把数据全取出来再构造树   
 可以考虑用Oracle的Connect By语句将数据库中的数据按照父子关系排列好,然后后续的处理就方便多了   
------解决方案--------------------弄个二维数组好了.A[2][rowcount]  A[0][rowcount]=self_imformation A[1][rowcount]=parent_imformation