当前位置: 首页 > 图文教程 > 网络编程 > ASP > 基于ACCESS数据库的纯asp论坛制作心得

ASP
一个ASP版的图片浏览管理器
无组件上传图片至SQLSERVER数据库
利用Jmail.Message发送邮件
用Web页面执行客户端程序
多图片上传到指定的目录并存到数据库
dreamweaverMX通用分页代码研究
下拉菜单输入,根据输入内容自动定位
中文的无组件文件上传ASP函数
一个利用adsi得到局域网信息的asp文件
根据需要动态include不同的文件
让自定义文件下载支持断点续传
用数组实现数据记录的批量录入方法
上传的进度条 实时反映上传情况
用ASP动态生成javascript的表单验证代码
ASP 编程中20个非常有用的例子
ASP生成Word文档的又一方法
用asp解析图片地址,并将其保存。
利用ASP的文件操作实现用户管理
创建 Visual Basic COM 组件在 ASP 中使用
调试 ASP 中使用的 Visual Basic COM 组件

ASP 中的 基于ACCESS数据库的纯asp论坛制作心得


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 183 ::
收藏到网摘: n/a

  感觉做一个论坛不像想象中的那么容易,但也不像想象中的那么复杂:),经过4天的浴血奋战,终于从对论坛制作一无所知到今天的论坛数据结构和组织形势初步确定,中间参考了sunamd,bigeagled,廖家远等的思路,并得到了赖皮王子,hooke,bigeagle大虾的热心帮助,谨以此文一并表示感谢。
    bigeagle的文章采用了sql数据库的存储过程来实现,但现实中支持asp的免费站点本来就少,支持数据库的免费站点更少,支持sql数据库的免费站点。。。反正我没见过,哪位知道告诉我一声:),所以我等穷人只有用access了,我就是采用asp+access的形式实现了类似chinaasp的论坛。。闲话少说,言归正传。
    先说一下数据库的结构,主要有两个表,一个存储用户信息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 "<ul>"    
  do while not rs.eof            
    if rs("level")<level then    
      for i=rs("level") to level-1   
        response.write "</ul>"    
      next    
    end if    
    if rs("level")>level then    
      response.write "<ul>"    
    end if    
    response.write "<li>主题:。。</li>"    
  level=rs("level")    
  rs.movenext      
  loop
  response.write "</ul>"      
%>     
注意:原"不用递归实现树形结构..."文章有误,这是修改后的代码.

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

以上只是我个人的看法,如果有错误之处或有更好的方法欢迎交流[email protected],大家可以到211.90.159.61(开放时间:8:15~17:30)或http://www.21union.net/sqlbbs看实例并多多灌水呦:)..