⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buildtree.txt

📁 WEB开发,从数据库中找出结点实现树结构
💻 TXT
字号:
package   test;  
   
  /**  
    *   <p>Title:   </p>  
    *   <p>Description:   </p>  
    *   <p>Copyright:   Copyright   (c)   2005</p>  
    *   <p>Company:   </p>  
    *   @author   bb  
    *   @version   1.0  
    */  
   
  import   java.sql.*;  
  import   java.lang.*;  
   
  public   class   Tree   {  
      class   cn   {    
          String   jdbcDriver   =   "oracle.jdbc.driver.OracleDriver";   //jdbc驱动  
          String   connectionString   =  
                  "jdbc:oracle:thin:@10.10.6.70:1521:postdb";   //数据库连接字符串  
            String   user   =   "scott";   //数据库用户名  
          String   pass   =   "tiger";   //数据库密码  
          Connection   conn   =   null;  
          ResultSet   rs   =   null;  
   
          public   cn()   {  
              try   {  
                  Class.forName(jdbcDriver);  
              }  
              catch   (ClassNotFoundException   e)   {  
                  System.err.println(e.toString());  
              }  
          }  
   
          public   ResultSet   executeQuery(String   sql)   {  
              rs   =   null;  
              try   {  
                  conn   =   DriverManager.getConnection(connectionString,   user,   pass);  
                  java.sql.Statement   stmt   =   conn.createStatement(ResultSet.  
                          TYPE_SCROLL_SENSITIVE,   ResultSet.CONCUR_UPDATABLE);  
                  rs   =   stmt.executeQuery(sql);  
              }  
              catch   (SQLException   e)   {  
                  System.err.println(e.toString());  
              }  
              return   rs;  
          }  
   
          public   void   executeUpdate(String   sql)   {  
              try   {  
                  conn   =   DriverManager.getConnection(connectionString,   user,   pass);  
                  java.sql.Statement   stmt   =   conn.createStatement(ResultSet.  
                          TYPE_SCROLL_SENSITIVE,   ResultSet.CONCUR_UPDATABLE);  
                  stmt.executeUpdate(sql);  
              }  
              catch   (SQLException   e)   {  
                  System.err.println(e.toString());  
              }  
          }  
      }  
   
      cn   conn   =   new   cn();  
      public   void   init(javax.servlet.jsp.JspWriter   out,  
                                        javax.servlet.http.HttpServletRequest   request)   throws  
              Exception   {  
          buildTree(out,   0,   0);   //初始调用  
      }  
   
      public   void   buildTree(javax.servlet.jsp.JspWriter   out,   int   parentid,  
                                                  int   level)   throws   Exception   {  
          level++;  
          int   j   =   0;  
          ResultSet   rs   =   conn.executeQuery(  
                  "select   count(*)   from   department   where   higher_department_id="   +  
                  parentid   +   "");  
          //ResultSet   rs=Dblink.DbQuery("select   *   from   department   where   higher_department_id="+parentid+"   order   by   department_system_id");  
          rs.next();  
          int   RecordCount   =   rs.getInt(1);  
          rs   =   conn.executeQuery(  
                  "select   *   from   department   where   higher_department_id="   +   parentid   +  
                  "   order   by   department_system_id");  
          while   (rs.next())   {  
              j++;  
              out.println("<div>");  
              if   (has_child(rs.getInt("department_system_id")))   {  
                  out.print("<table   width=\"100%\"   border=\"0\"   cellspacing=\"0\"   cellpadding=\"0\"><tr><td   width="   +  
                                      (level   +   1)   *   20   +   ">");  
                  for   (int   i   =   0;   i   <   level   -   1;   i++)   {  
                      out.print("");  
                      if   (i   ==   level   -   2)   {  
                          if   (j   ==   RecordCount)   {  
                              out.print("<img   src=\"img/joinbottom.gif\">");  
                          }  
                          else   {  
                              out.print("<img   src=\"img/join.gif\">");  
                          }  
                      }  
                      else   {  
                          //if   (j==RecordCount&&i!=0){  
                          //     out.print("<img   src=\"img/empty.gif\">");  
                          //}else{  
                          out.print("<img   src=\"img/line.gif\">");  
                          //}  
                      }  
                  }  
                  out.print("<img   alt=\"展开\"   style=\"cursor:hand;\"   onclick=\"myClick('"   +  
                                      rs.getInt("department_system_id")   +   "');\"   id=\"img"   +  
                                      rs.getInt("department_system_id")   +  
                                      "\"   src=\"img/minus.gif\"><img   id=\"im"   +  
                                      rs.getInt("department_system_id")   +  
                                      "\"   src=\"img/imgfolder.gif\">");  
                  out.print("<span   onclick=\"myClick1('"   +  
                                      rs.getInt("department_system_id")   +  
                                      "');\"style=\"cursor:default;\"id=\"span"   +  
                                      rs.getInt("department_system_id")   +   "\"></span></td><td>"   +  
                                      rs.getString("department_name")   +  
                          "</td><td   width=\"100\"   align=\"center\">     <a   href=\"delDepartment.jsp?id="   +  
                          rs.getInt("department_system_id")   +  
                          "&&yesno=0\"></a>         <a   href=\"updateDepartment.jsp?id="   +  
                          rs.getInt("department_system_id")   +  
                          "&&topage=0\"></a></span></td></tr></table>"  
                          );  
                  out.println("<div   style=\"display:block;\"   id=\"div"   +  
                                          rs.getInt("department_system_id")   +   "\">");  
                  buildTree(out,   rs.getInt("department_system_id"),   level);   //递归调用  
                  out.println("</div>");  
              }  
              else   {  
                  out.print("<table   width=\"100%\"   border=\"0\"   cellspacing=\"0\"   cellpadding=\"0\"><tr><td   width="   +  
                                      level   *   20   +   ">");  
                  for   (int   i   =   0;   i   <   level   -   1;   i++)   {  
                      out.print("");  
                      if   (i   ==   level   -   2)   {  
                          if   (j   ==   RecordCount)   {  
                              out.print("<img   src=\"img/joinbottom.gif\">");  
                          }  
                          else   {  
                              out.print("<img   src=\"img/join.gif\">");  
                          }  
                      }  
                      else   {  
                          //if   (j==RecordCount&&i!=0){  
                          //     out.print("<img   src=\"img/empty.gif\">");  
                          //}else{  
                          out.print("<img   src=\"img/line.gif\">");  
                          //}  
                      }  
                  }  
                  out.print("<img   src=\"img/page.gif\"><span   onclick=\"myClick1('"   +  
                                      rs.getInt("department_system_id")   +  
                                      "');\"   style=\"cursor:default;\"   id=\"span"   +  
                                      rs.getInt("department_system_id")   +   "\"></span></td><td>"   +  
                                      rs.getString("department_name")   +  
                          "</td><td   width=\"100\"   align=\"center\">     <a   href=\"delDepartment.jsp?id="   +  
                          rs.getInt("department_system_id")   +  
                          "&&yesno=0\"></a>         <a   href=\"updateDepartment.jsp?id="   +  
                          rs.getInt("department_system_id")   +  
                          "&&topage=0\"></a></span></td></tr></table>");  
              }  
              out.println("</div>");  
          }  
          rs.close();  
          rs   =   null;  
      }  
   
      private   boolean   has_child(int   parentid)   throws   Exception   {  
          ResultSet   rs   =   conn.executeQuery(  
                  "select   *   from   department   where   higher_department_id="   +   parentid   +  
                  "   order   by   department_system_id");  
          //ResultSet   rs=Dblink.DbQuery("select   *   from   department   where   higher_department_id="+parentid+"   order   by   department_system_id");  
          return   rs.next();  
      }  
   
      public   String   getOption()   throws   Exception   {  
          String   option   =   "";  
          ResultSet   rs   =   conn.executeQuery(  
                  "select   *   from   department   order   by   department_system_id");  
          //ResultSet   rs=myDblink.DbQuery("select   *   from   department   order   by   department_system_id");  
          while   (rs.next())   {  
              option   +=   "<option   value=\""   +   rs.getInt("department_system_id")   +   "\">"   +  
                      rs.getInt("department_system_id")   +   "</option>\n";  
          }  
          return   option;  
      }  
   
  }   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -