ASP进阶教程Ⅴ:留言簿在线留言编辑(二)

2016-01-29 19:00 6 1 收藏

ASP进阶教程Ⅴ:留言簿在线留言编辑(二),ASP进阶教程Ⅴ:留言簿在线留言编辑(二)

【 tulaoshi.com - ASP 】

  如何给留言簿添加在线留言编辑的功能呢?综述起来我们大致可以将其分成以下三个步骤来实现。
步骤一:首先用第八章中所介绍的给每条留言的上面添加一个“删除留言”按钮的方法,在每条留言的上面再加添一个“留言编辑”的按钮。
步骤二:实现当我们单击“留言编辑”按钮时,从留言数据库中选取对应的留言记录以供“留言编辑”,见下图:
 
  很明显,这里的关键所在就是:如何才能从留言数据库中选取对应的留言记录以供我们编辑?实现该功能的程序被我存成了文件Edit.asp,请看下面:
......
< %
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set cmd = Server.CreateObject("ADODB.Command")
Set CmdEdit = Server.CreateObject("ADODB.Recordset")
cmd.CommandText = "SELECT guestbook.* FROM guestbook WHERE (ID = " &             Request.QueryString("id") & ")"
cmd.CommandType = 1
Set cmd.ActiveConnection = Conn
CmdEdit.Open cmd, , 3, 1
%
'选取ID = " & Request.QueryString("id") & ")"的留言记录,因为该程序只是打开留言,并不需要更改留言内容,所以这里设定该留言记录为只读,以免破坏数据。其它参数的意义请大家参照上一章节的资料,我在这里不再重复说明。
< % memo = CmdEdit("留言") %
< % memo = Replace(memo,"< br",str) %
'将留言数据表单中“留言”字段的数据赋予留言编辑页面的memo文本域,并将数据转换成字符串,以便对其进行编辑。
......
< input type="TEXT" name="Name" size="20" value="< %=CmdEdit("姓名")%"
......
< input type="TEXT" name="Tel" size="20" value="< %=CmdEdit("电话")%"
......
< input type="TEXT" name="Subject" size="55" value="< %=CmdEdit("主题")%"
......
< textarea name="Memo" rows="6" cols="60"< %= memo %< /textarea
......
< input type="hidden" name="ID" value="< %=CmdEdit("ID")%"
< input type="submit" value="保存留言"
'分别将留言表单中的“ 姓名”、“电话”、“主题”和“留言”各字段的数据赋予各“留言编辑”页面中对应的文本域。
......  
步骤三:保存编辑后的留言(Editsave.asp)。
< %@ LANGUAGE="VBSCRIPT" %
< % Response.Buffer = "True" %
'设置将Web页面输出至缓存区。当一个Web页面输出至缓存区时,除非当前页的所有服务器端文件都已被处理完毕或者是程序中调用了Flush或End方法,服务器才将响应客户端浏览器。因此Response.Buffer一般都是放在.asp文件的第一行,放在其他位置可能会造成执行的错误。
< % ID = Request.Form("ID") %
'获取被编辑留言的“ID”序列号。
......
< %
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = Server.MapPath("book2.mdb")
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
Set cmd = Server.CreateObject("ADODB.Command")
Set CmdEdit = Server.CreateObject("ADODB.Recordset")
cmd.CommandText = "SELECT guestbook.* FROM guestbook WHERE (ID = " & ID & ")"
cmd.CommandType = 1
Set cmd.ActiveConnection = Conn
CmdEdit.Open cmd, , 1, 3
%
< % NAME = Request.Form("NAME")
if NAME="" THEN
CmdEdit.Fields("姓名") = NULL
Else
CmdEdit.Fields("姓名") = NAME
END IF %
< % EMAIL = Request.Form("EMAIL")
if EMAIL="" THEN
CmdEdit.Fields("EMAIL") = NULL
Else
CmdEdit.Fields("EMAIL") = EMAIL
END IF %
< % memo = Request.Form("memo")
if memo="" THEN
CmdEdit.Fields("留言") = NULL
Else
memo = Replace(memo,str,"< br")
memo = Replace(memo,vbCr,"< br")
CmdEdi

来源:http://www.tulaoshi.com/n/20160129/1508098.html

延伸阅读
标签: ASP
在前面我们介绍了文件版本的留言簿,现在我们不妨来设想一下:如果留言文件里面的留言很多,而你又急于想寻找其中的某条留言时,这时打开txt留言文件,对着一段段的留言记录,你敢担保你不会当场晕倒吗?而且文件留言簿最令人讨厌还远不只是这个原因,更气人的是:譬如你已经找到了你要找的留言,而且是非要将其删除不可(当然是因为那段留...
标签: Web开发
在前面我们介绍了文件版本的留言簿,现在我们不妨来设想一下:如果留言文件里面的留言很多,而你又急于想寻找其中的某条留言时,这时打开txt留言文件,对着一段段的留言记录,你敢担保你不会当场晕倒吗?而且文件留言簿最令人讨厌还远不只是这个原因,更气人的是:譬如你已经找到了你要找的留言,而且是非要将其删除不可(当然是因为那段留言...
标签: PHP
  addnote.php <HTML <HEAD <meta http-equiv="Content-Type" content="text/html; charset=gb2312" <TITLE添加留言</TITLE <style type="text/css" <!-- .white12 {  font-size: 12pt; color: #FFFFFF; text-decoration: none} -- </style </HEAD <BO...
标签: Web开发
前段时间无意间看到一个博客的RSS可以用XSL格式输出并且能在Firefox里浏览,想到自己以前写的一个XML留言簿因为不兼容Firefox所不了了之了,现在看到他的能在Firefox浏览就觉得很好奇,看了一下代码,一句一句的比对,最后终于找到了原因,也就把这个留言簿给完成了。因为是一个简单的XML留言簿,所以取名SXGB(Simple XML GuestBook)。 留言本...
标签: ASP
  我们接上一部分继续讲解如何利用Command对象来执行SQL命令,实现“留言记录日期查询”和“留言簿过去五天留言记录查询”。但在应用Command对象来执行SQL命令之前我们必须在留言数据库中先建立查询,假如我们要查询的是“留言簿过去五天留言记录”,那么在留言数据库中建立查询的具体方法如下所示。(对于数据库,在Access中可以建立五种...

经验教程

733

收藏

44
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部