网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP实例
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.用asp.net写的论坛程序--上贴保存.
.用asp.net写的论坛程序--论坛主页.
.聊天室自做 Follow Me.
.制作我们自己的Ebay(拍卖系统)(6).
.ASP进阶之文章在线管理更新(9).
.取得服务器上用户组列表脚本之VB.
.一个新版本的ubb转化程序.
.让您的主页支持各种浏览设备(AS.
.bbs的数据结构和存储过程(三).
.功能非常全面的日期处理函数.
.股票报价的WebService之一.
.一个把数字转英文的实用程序.
.用户注册及跟踪代码(二).
.图片数据的存和取示例.
.用Access制作一个功能完善的论坛.
.一个ASP.NET+XML留言本例子.
.用ASP、VB和XML建立互联网应用程.
.一个简单的网上书城的例子(六).
.用ASP技术编制隐藏用户密码程序.
.构建你的网站新闻自动发布系统之.

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

发表日期:2001-10-16


    感觉做一个论坛不像想象中的那么容易,但也不像想象中的那么复杂:),经过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转换,不然会报告"类型不匹配",我一开始百思不得其解,后来发现在传值的时候必定会把单精数据"+"弄丢,变成空格,所以要先替换再转型.

以上只是我个人的看法,如果有错误之处或有更好的方法欢迎交流gwlx@21cn.com,大家可以到211.90.159.61(开放时间:8:15~17:30)或http://www.21union.net/sqlbbs看实例并多多灌水呦:)..  
上一篇:一种在线人数统计方法(只用1个APPLICATION) 人气:17514
下一篇:用ASP.NET构建完整E-mail发送系统  人气:14144
浏览全部论坛的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐