当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP进阶教程Ⅵ:留言簿在线删除留言

ASP
ASP技巧:在Access数据库中重命名表
用ASP编程实现网络内容快速查找
比较ASP生成静态HTML文件的几种方法
ASP实例:实现邮件发送普通附件和嵌入附件
如何用ASP实现去掉三个最高分和三个最低分
ASP实例:Access为后台数据库的网站统计系统
用标签替换的方法生成静态网页
例程:用ASP判断文件地址是否有效
学ASp动态网页必备:常用的38个函数
ASP教程:初次接触学习ASP脚本程序
ASPJPEG水印中关于文字水印的帮助文档(中英文对照)
ASP例子:ASP把汉字转化为拼音的函数
ASP教程:学习ASP应用Cookies的技巧
ASP入门:认识ASP程序所使用的几种脚本语言
初学者的ASP教程:常用ASP内置函数
ASP初级教程之ASP对表单和用户输入的处理
学习ASP文件引用的方法
用ASP编写更人性化的弹出窗口程序
谈谈学习ASP动态网页制作技术的编程心得
用ASP程序实现网站在线人数统计

ASP进阶教程Ⅵ:留言簿在线删除留言


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

  还记得我们在第三章中作删除留言的事么?为了删掉那条往你脸上抹黑的留言,我们当时唯一能用上的方法竟然只有直接在留言数据库上进行查找和删除。(而即使是学习了第七章之后,我们也仅仅只能繁锁地先通过“留言管理”的密码验证,然后下载整个留言数据库,删除更改以后再上传。)天啊!你总没法保证:当你看到那些你不喜欢的留言时,正是当你正在使用着那台放了你留言簿的服务器的时候吧?假如有一天你出差在外,或是你正在使用的计算机根本就没有安装什么上传软件......是不是?无计可施了吧?那么难道我们就只能眼光光地放任某些“好事者”来捣乱我们的留言簿吗?
  我们当然不会容忍让“好事者”来我们的留言簿肆意涂乌,因此在这一章里我将讲述一下,如何给我们的留言簿添加在线留言删除的功能。
  既然要添加在线留言删除功能,留言编辑的页面总不能没,于是我把在前面章节已介绍过的留言显示页面程序page2.asp和self2.asp稍加修改,其实仅仅是在每条显示留言的上面添加一个“删除留言”的按钮而已。但是有一点我们是必须明确的是:每条留言上面的“删除留言”按钮,应该只是对该条留言有效,而与其余的留言无关。因此我们可以在self2.asp中的适当位置加入以下的语句后另存成editself.asp,这便是留言编辑界面中,用来定义留言显示格式的程序。
Tab = Tab & "< TR>< TD>< A HREF=""delete.asp?ID=" & rs("ID") & """>"
Tab = Tab &" < b>删 除 留 言< /b> "& "< /TD>< /TR>"
'rs("ID")指ID字段的记录。rs("ID")完整的写法应该是“rs.Fields("ID").Value”,因为Fields是Recordset对象“默认的”属性,Value又是Field对象“默认的”属性,因此我们可以简写成rs("ID")。

  同样,我们只需将page2.asp程序上面的< !--#include file="self2.asp" -->替换成< !--#include file="editself2.asp" -->这便是删除留言页面的留言处理程序editpage2.asp。
  在完成了留言编辑的页面后,接下来让我们进一步来学习删除留言的处理程序(delete.asp)。
< !--#include file="adovbs.inc" -->
< %
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
sql ="DELETE FROM guestbook WHERE (ID = " & Request.QueryString("id") & ")" Set rs = conn.Execute( sql )
%>
'因为我们要删除的留言记录是留言数据库中序列号ID与“删除留言”按钮所对应的ID相一致的留言记录,因此我们在这里通过 " & Request.QueryString("id") & "来获取当前操作的留言所对应的ID。上述的SQL命令即是表明:删除留言数据库中ID序列号与当前操作的留言所对应的ID相一致的留言记录。

< %
Sub delaySecond(DelaySeconds)
SecCount = 0
Sec2 = 0
While SecCount < DelaySeconds + 1
Sec1 = Second(Time())
If Sec1 <> Sec2 Then
Sec2 = Second(Time())
SecCount = SecCount + 1
End If
Wend
End Sub
%>
< % delaySecond(2) %>
'在删除留言操作后延时2秒。
< % Response.Redirect ("page2.asp") %>
'删除留言后将客户端浏览器指引到“观看留言”页面。