到现在为止,我们做的工作仅仅只是把记录显示出来。
如果我们要在这个 ASP 页面中,添加、删除记录,在新窗口中修改记录,新问题就来了。
这在我们设计类似于允许用户管理自己的通讯录一类的程序时,经常会遇到。
幸好我们在前面的分页控制中已经作好了一切准备,我们现在只需要做如下工作:
1、在每行记录前添加 checkbox
2、在记录列表的下面添加“选择全部记录”复选框、删除、添加按钮
如果在查询控制中显示了类别列表,则还要增加“类别设置”按钮。
当然,我们只需要修改 listrecords() 函数,以及 listrecordscon.inc 文件
请看 sample5.asp
<一> 需要分页的 ASP 文件
sample5.asp
<!--#include file="../inc/functions.inc"-->
<%
'//////////////////////////////////////////////////////////
'
' 定义表名
'
'//////////////////////////////////////////////////////////
theTableName= "addressbook"
'//////////////////////////////////////////////////////////
'
' 查询条件
'
'//////////////////////////////////////////////////////////
theQueryField = "fld" & theTableName & "_nickname"' 查询字段,完整名字
theQueryTitle = "昵称" ' 字段显示标题
theQueryTable = "vw" & theTableName ' 字段所在的表,完整名字
theQueryClass = theTableName & "_class" ' 类别表名,去掉 tbl、vw 前缀
theClassId = c2int(request("classid")) ' 当前类别号
' 如果是查询模式,则构造模糊查询语句
if request("mode") = "query" then
%><!--#include file="../inc/control/query_result.inc"--><%
else
' 否则忽略
theQueryCon = "1>0"
end if
'//////////////////////////////////////////////////////////
'
' 限制条件
'
'//////////////////////////////////////////////////////////
theLimitCon = "fld" & theTableName & "_userid=" & Session("userid")
if theClassId > 0 then
theLimitCon = theLimitCon & " and fld" & theQueryClass & "id=" & theClassId
end if
'//////////////////////////////////////////////////////////
'
' 构造 SQL 语句
'
'//////////////////////////////////////////////////////////
uSQL = "select * from " & theQueryTable & " where ( " & theQueryCon & " ) and ( " & theLimitCon & " ) "
%>
<!--#include file="../inc/control/navigator_init.inc"-->
<html>
<head>
<title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"&g