在网上找了好久都没有找到想要的答案,特来请教。
做个无限分类文章系统
数据库表:
1、ClassTable
c_ID   c_Name     pID    Depth    Path
 1     企业概况    0       1       1
 2     企业动态    0       1       2
 3     企业管理    0       1       3
 4     企业简介    1       2       1:4
 5     企业制度    1       2       1:5
 6     员工制度    5       3       1:5:6
 7     经营动态    2       2       2:7
 8     内部动态    2       2       2:8  
 9     管理制度    5       3       1:5:9
2、ArticleTable  
a_ID   c_ID   Path     a_Title           a_Content     
 1      4     1:4      企业历史....       .....
 2      4     1:4      部门设置...        .....
 3      6     1:5:6    制度1...           .....
 4      6     1:5:6    制度2...           .....
 5      7     2:7      市场计划..         .....
 6      3     3        管理办法1..        .....
 7      3     3        管理办法2..        .....
 8      9     1:5:9    管理制度1..        .....
分类表的treeview已实现,
现在主要问题是:1、我想在首页把所有的根级分类列出来,并列出该根分类的top 6篇文章,不管该根分类是否有子分类。
                2、当我点击一个分类时(不管它是子分类还是根分类),把该分类的子分列出,并列出该根分类的top 6篇文章,不管该分类是否有子分类。
     例如:点击"企业概况"时,应该列出列出:
  企业简介
 1      4     1:4      企业历史....       .....
 2      4     1:4      部门设置...        .....
   企业制度
 3      6     1:5:6    制度1...           .....
 4      6     1:5:6    制度2...           .....
 8      9     1:5:9    管理制度1..        .....
列出分类名的sql语句知道怎么写,主要读取文章的sql语句,请高手赐教?
顶者有分,谢谢.

解决方案 »

  1.   

    select top 6 * from ClassTable where Depth ='1'你讲查了很久都没解决
    所以我写完都认为我写错了 

    不知道到底有什么 问题
      

  2.   

    1、ClassTable
    c_ID   c_Name     pID    Depth    ParentId
     1     企业概况    0       1       0
     2     企业动态    0       1       0
     3     企业管理    0       1       0
     4     企业简介    1       2       1
     5     企业制度    1       2       1
     6     员工制度    5       3       5
     7     经营动态    2       2       2
     8     内部动态    2       2       2  
     9     管理制度    5       3       5
    2、ArticleTable  
    a_ID   c_ID   a_Title           a_Content   a_datetime  
     1      4     企业历史....       .....      ......
     2      4     部门设置...        .....      ......   
     3      6     制度1...           .....      ......
     4      6     制度2...           .....      ......
     5      7     市场计划..         .....
     6      3     管理办法1..        .....
     7      3     管理办法2..        .....
     8      9     管理制度1..        .....
    起始 string sql="SELECT TOP 6 * FROM ArticleTable ORDER BY a_datetime";
    每点击treeview目录调用 SELECT * FROM ClassTable WHERE ParentId=treeview点击的id号
    同时sql="SELEC TOP * FROM articleTable WHERE c_id='"+treeview点击的id号+"' ORDRE BY a_datetime";
      

  3.   

    谢谢楼上的回复,不过好像大家都没理解到我说的意思,
       比如,根分类“企业管理 ”下没有子分类,在ArticleTable存入文章的c_ID字段值就为"企业管理"在ClassTable里的c_ID值(如上面是3),
       而根分类"企业概况"有子分类,那么在ArticleTable存入文章时c_ID字段值就为"企业概况"子分类ID的值(或者说孙分类的ID值,无限分类嘛),
       那我在分类列出文章时,"企业管理"就很好列(select top 6 * from ArticleTable where c_id = treeview点击的id号 ORDER BY a_datetime),
       而"企业概况"就不能用上面的sql语句来列出文章,因为c_id里存入的是它子分类的id号,
    这下应该讲清楚了吧,请问大家是怎么做的,给我一个思路,谢谢啊,
      

  4.   

    你的PATH呢?PATH存成这样的格式-----:1:5:6:select top 6 ......where path lick %:5:%.....给加上分隔符,这样就算出现2或3位的ID都不会影响,而且也不会有问题,除非你ID有重复