⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0074.htm

📁 asp教程宝典``还不错
💻 HTM
字号:
<html>

<head>
<title>新时代软件教程:操作系统 主页制作 服务器 设计软件 网络技术 编程语言 文字编辑</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style>
<!--
body, table {font-size: 9pt; font-family: 宋体}
a {text-decoration:none}
a:hover {color: red;text-decoration:underline}
.1  {background-color: rgb(245,245,245)}
-->
</style>
</head>
<p align="center"><script src="../../1.js"></script></a>
    <p align="center"><big><strong>第九章:给留言簿添加在线留言编辑功能(二)</strong></big></p>

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

  </table>
<p align="center"><script src="../../2.js"></script></a>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -