宣化富龙集团王诚妻子:请帮忙看看我的ASP分页出现什么问题了?

来源:百度文库 编辑:高考问答 时间:2024/04/28 18:04:30
我有两个ASP网页,main.asp和search.asp。打开main.asp会显示所有记录,分3页显示。在上方输入要查询的内容,会自动连接到search.asp,但只能显示第一页的内容,如果点击下页就会出现错误!请帮忙解决一下,谢谢!
search.asp:
<%@LANGUAGE="JAVASCRIPT"%>
<% function ShowOnePage( rs, Page )
{
Response.Write("<CENTER><table borgercolor=orange bordercolordark=orange bordercolorlight=orange border=1 cellspacing=3> ");
Response.Write("<TR bgcolor=orange>");
var i;
for (i=0; i<rs.Fields.Count; i++)
{
Response.Write("<TD><font size=1 color=white>"+rs.Fields(i).Name + "</font></TD>");
}
Response.Write("</TR>");
rs.AbsolutePage = Page
var iPage;
for (iPage=1; iPage<=rs.PageSize; iPage++)
{
if (!rs.EOF)
{
Response.Write("<TR align=middle>");
for(i=0; i<rs.Fields.Count; i++)
{
Response.Write("<TD><font size=1>" + rs.Fields(i).Value + "</font></TD>");
}
Response.Write("</TR>");

rs.MoveNext();
}
}
Response.Write("</TABLE></CENTER>");
}
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>无标题文档</title>
</head>
<body bgcolor="beige">
<form method="post" action="search.asp">
<div align="center">
<input type="text" name="txt" SIZE="20">
<input type="submit" value="查询">
</div>
</form>
<%
var txt;
txt = Request.form("txt");
%>
<%
var conn = Server.CreateObject("ADODB.Connection");
conn.Open("driver={Microsoft Access Driver (*.mdb)};dbq=" + Server.MapPath("data.mdb"));
rs = Server.CreateObject("ADODB.Recordset");
sql = "SELECT 订单号, 客户名称, 所购宝贝名称, 单价, 数量, 金额 FROM customers Where 所购宝贝名称 like '%" + txt + "%'";
rs.Open(sql, conn, 3);
rs.PageSize = 2;
if (0 == Request("Page").count)
{
Page = 1;
}
else
{
Page = parseInt(Request("Page"))
}
if (Page < 1)
{
Page = 1;
}
if (Page > rs.PageCount)
{
Page = rs.PageCount;
}
ShowOnePage(rs, Page);
%>
<div ALIGN=right>
<form Action="search.asp" Method="get">
<%
if (!(1==Page))
{
Response.Write("<A HREF=search.asp?Page=1><font size=1 color=blue>[首页]</font></A>");
Response.Write("<A HREF=search.asp?Page=" + (Page-1) + "><font size=1 color=blue>[上页]</font></A>");
}
if (!(rs.PageCount==Page))
{
Response.Write("<A HREF=search.asp?Page=" + (Page+1) + "><font size=1 color=blue>[下页]</font></A>");
Response.Write("<A HREF=search.asp?Page=" + rs.PageCount + "><font size=1 color=blue>[尾页]</font></A>");
}
%>
<p>输入页数:<input TYPE="TEXT" Name="Page" SIZE="3">页数:<font Color="red"><%=Page%>/<%=rs.PageCount%></font></p>
</form>
</div>
</body>
</html>
运行后,显示:
错误类型:
ADODB.Recordset (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/studio/search.asp, 第 12 行
也就是:
rs.AbsolutePage = Page
有误!

if(!rs.Eof)rs.AbsolutePage = Page

然后
Page = parseInt(Request("Page"))
最好改成

Page = parseInt(Request("Page"))
if(isNaN(Page))Page=1