精华区 [关闭][返回]

当前位置:月光软件>>讨论区精华>>〖软件开发〗>>● ASP>>★ASP的文献★>>【心得体会】基于ACCESS数据库的纯asp论坛制作心得

主题:【心得体会】基于ACCESS数据库的纯asp论坛制作心得
发信人: wuga(冰雨梦)
整理人: wuga(2002-04-28 14:29:02), 站内信件
  先说一下数据库的结构,主要有两个表,一个存储用户信息user,一个存储论坛文章及信息mytext。用户信息就不用多说了,主要就是mytext论坛文章的组织,要实现相同主题的帖子组织在一块、跟贴紧随父贴、后发帖居上、更重要的是要认清父贴,否则会造成一层回复一律排在一起,二层回复排在一起,三层。。。如下:
根贴
 回复1:根贴
 回复2:根贴
  回复:回复1:根贴
 。。。。
所以这里有几个关键的字段:
id(自动):自动编号(作用:显示后来居上)
rootid(整型):根贴的id(作用:实现相同主题的帖子排在一块)
level(整型):贴子的层数(作用:显示的时候实现缩进)
orderid(单精):相同主题帖子排序的基数(作用:相同主题帖子排序的先后依据,即防止出现上例的情况)
fatherid(整型):父贴id,贴子的血缘关系
排序的sql语句:
select * from mytext orderby rootid desc,orderid,id desc

实现显示缩进(修正后的"不用递归实现树形结构.."):
 level=0  
 response.write "
    "  
     do while not rs.eof      
      if rs("level")<level then  
       for i=rs("level") to level-1 
        response.write "
"  
   next  
  end if  
  if rs("level")>level then  
   response.write "
    "  
      end if  
      response.write "
  • 主题:。。
  • "  
     level=rs("level")  
     rs.movenext   
     loop
     response.write "
"   
%>  
注意:原"不用递归实现树形结构..."文章有误,这是修改后的代码.

另外有一点经验要注意:就是在单精类型数据传值的时候,如:orderid,request上来的数据要先replace(orderid," ","+"),再csng转换,不然会报告"类型不匹配",我一开始百思不得其解,后来发现在传值的时候必定会把单精数据"+"弄丢,变成空格,所以要先替换再转型.
 



----
▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 
▇┏┅┓▇▇▇▇▇▇┏┅┓▇ 
▇┃┃█◤ ◥◤ ◥█┃┃▇ 
▇┃┃█☆中国足球☆█┃┃▇ 
▇┃┃█◣☆ASP ☆◢█┃┃▇ 
▇┃┃█◣☆☆◢█┃┃▇ 
▇┗┅┛███◣◢███┗┅┛▇ 
▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇             

[关闭][返回]






转载请注明:转载自 月光程序代码网 [ http://www.moon-soft.com ]