<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 6,  comments - 4,  trackbacks - 0

    數據庫例子
    ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
    create database bbs;

    use bbs;

    create table article
    (
    id int primary key auto_increment,
    pid int,
    rootid int,
    title varchar(255),
    cont text,
    pdate datetime,
    isleaf int
    );

    insert into article values (null, 0, 1, '螞蟻大戰大象', '螞蟻大戰大象', now(), 1);
    insert into article values (null, 1, 1, '大象被打趴下了', '大象被打趴下了',now(), 1);
    insert into article values (null, 2, 1, '螞蟻也不好過','螞蟻也不好過', now(), 0);
    insert into article values (null, 2, 1, '瞎說', '瞎說', now(), 1);
    insert into article values (null, 4, 1, '沒有瞎說', '沒有瞎說', now(), 0);
    insert into article values (null, 1, 1, '怎么可能', '怎么可能', now(), 1);
    insert into article values (null, 6, 1, '怎么沒有可能', '怎么沒有可能', now(), 0);
    insert into article values (null, 6, 1, '可能性是很大的', '可能性是很大的', now(), 0);
    insert into article values (null, 2, 1, '大象進醫院了', '大象進醫院了', now(), 1);
    insert into article values (null, 9, 1, '護士是螞蟻', '護士是螞蟻', now(), 0);

    ------------------------------------------------------------------------------------------------------------------------------




    下面是用遞歸列出樹狀結構:

    import java.sql.*;



    public class ArticleTree {
        

        
    public static void main(String[] args) {
            ArticleTree at 
    = new ArticleTree();
            at.show();
        }

        
        
    public void show(){
            Connection conn 
    = null;
            Statement stmt 
    = null;
            ResultSet rs 
    = null;
            
    try{
                Class.forName(
    "com.mysql.jdbc.Driver");
                conn 
    = DriverManager.getConnection("jdbc:mysql://localhost/bbs?user=root&password=********");
                stmt 
    = conn.createStatement();
                rs 
    = stmt.executeQuery("select * from article where pid = 0");
                
    while (rs.next()){
                    System.out.println(rs.getString(
    "cont"));
                    tree(conn, rs.getInt(
    "id"),1);
                }

            }
    catch(SQLException e){
                e.printStackTrace();
            }
    catch(ClassNotFoundException e){
                e.printStackTrace();
            }
    finally{
                
    try{
                    
    if (rs!=null){
                        rs.close();
                        rs 
    = null;
                    }

                    
    if (stmt!=null){
                        stmt.close();
                        stmt 
    = null;
                    }

                    
    if (conn!=null){
                        conn.close();
                        conn 
    = null;
                    }

                }
    catch(SQLException e){
                    e.printStackTrace();
                }

            }

        }

        
        
    private void tree(Connection conn,int id, int level){
            Statement stmt 
    = null;
            ResultSet rs 
    = null;
            StringBuffer strPre 
    = new StringBuffer("");
            
    for(int i = 0; i < level ; i++){
                strPre.append(
    "    ");
            }

            
    try{
                stmt 
    = conn.createStatement();
                String sql 
    = "select * from article where pid =" + id;
                rs 
    = stmt.executeQuery(sql);
                
    while(rs.next()){
                    System.out.println(strPre 
    + rs.getString("cont"));
                    
    if(rs.getInt("isleaf")!=0){
                        tree(conn , rs.getInt(
    "id") , level+1);
                        
                    }

                }

                
            }
    catch(SQLException e){
                e.printStackTrace();
            }
    finally{
                
    try{
                    
    if (rs!=null){
                        rs.close();
                        rs 
    = null;
                    }

                    
    if (stmt!=null){
                        stmt.close();
                        stmt 
    = null;
                    }

                }
    catch(SQLException e){
                    e.printStackTrace();
                }

            }

        }


    }



    輸出結果:
    --------------------------------------------------------------------------
    螞蟻大戰大象
        大象被打趴下了
            螞蟻也不好過
            瞎說
                沒有瞎說
            大象進醫院了
                護士是螞蟻
        怎么可能
            怎么沒有可能
            可能性是很大的

    --------------------------------------------------------------------------

    復習以下遞歸,這個東西如果不熟練,自己寫起來是很麻煩的事情。腦子里老轉不過彎。
    posted on 2009-04-06 01:42 shivaree 閱讀(508) 評論(1)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久香草视频在线观看免费| 国产精品亚洲一区二区三区久久 | 亚洲AV无码一区二区三区牛牛| 日本免费在线中文字幕| 亚洲人精品午夜射精日韩 | 国产成人在线观看免费网站| 丁香婷婷亚洲六月综合色| 国产一卡2卡3卡4卡无卡免费视频| 亚洲国产成人精品电影| 91老湿机福利免费体验| 亚洲六月丁香六月婷婷蜜芽| 久久笫一福利免费导航| 亚洲变态另类一区二区三区| 免费国产精品视频| 国产免费一区二区三区免费视频 | 久久国产福利免费| 人人狠狠综合久久亚洲88| 精品国产麻豆免费人成网站| 亚洲狠狠ady亚洲精品大秀| 狠狠色婷婷狠狠狠亚洲综合| 天堂在线免费观看中文版| 日韩免费视频一区二区| 亚洲人成伊人成综合网久久| 精品亚洲A∨无码一区二区三区| 人禽伦免费交视频播放| 日本一区二区三区免费高清| 久久久久亚洲国产AV麻豆| 亚洲AV无码专区日韩| 3344在线看片免费| 亚洲国产成人久久77| 国产性生交xxxxx免费| 国产无遮挡又黄又爽免费网站| 亚洲免费在线视频| 成人在线免费观看| 一本大道一卡二大卡三卡免费| 亚洲天堂中文资源| 波多野结衣久久高清免费| 一个人看的免费高清视频日本 | 国产亚洲人成网站在线观看| 足恋玩丝袜脚视频免费网站| 久久久久久亚洲精品无码|