asp如何分页显示

因为表太大,需要分页显示而且目前无法打开网页.在已售产品少的情况下,可以打开网页.下面想让已售产品列表分页显示,该如何写了?<%Response.Buffer=False... 因为表太大,需要分页显示
而且目前无法打开网页.
在已售产品少的情况下,可以打开网页.
下面想让已售产品列表分页显示,该如何写了?

<% Response.Buffer=False %>
<%
Dim connstr
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mychanpin.mdb")
set bb = server.CreateObject("ADODB.Connection")
bb.Open connstr
%>
<html>
<head>
<title>每日销售情况</title>
</head>

<body>
<%
set rs = server.CreateObject ("adodb.recordset")
rs.open "select * from changpin ",bb
%>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">序号</div></td>
<td><div align="center">日期</div></td>
<td><div align="center">已售</div></td>
</tr> <% i=1
do while not rs.eof%>
<tr>
<td><div align="center"><%=rs("ID")%></div></td>
<td><div align="center"><%=rs("data")%></div></td>
<td><div align="center"><%=rs("yishou")%></div></td>
</tr><% i=i+1
rs.movenext
loop

%>
</table>
</body>
</html>
谢谢楼下二位的回答.
可以实现分页效果,但页面打开很慢.
可不可以提高页面的打开速度呢.?
如果改为MSSQL会不会更快呢.
还有需要按日期查询,如何实现啊..
谢谢了!
展开
 我来答
匿名用户
2008-05-28
展开全部
'楼主可以建立索引,查询速度就会提高
<% Response.Buffer=False %>
<%
Dim connstr
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("mychanpin.mdb")
set bb = server.CreateObject("ADODB.Connection")
bb.Open connstr
%>
<html>
<head>
<title>每日销售情况</title>
</head>

<body>
<%
set rs = server.CreateObject ("adodb.recordset")
rs.open "select * from changpin order by data desc",bb,1,1 '注意这裏是按日期查询
if request("page")="" then
page=1
else
page=cint(request("page"))
end if
rs.pagesize=12
if page=0 then page=1
if page>rs.pagecount then page=rs.pagecount
rs.absolutepage=page
%>
<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">序号</div></td>
<td><div align="center">日期</div></td>
<td><div align="center">已售</div></td>
</tr> <%
for i=1 to rs.pagesize%> '分页代码用这个循环
<tr>
<td><div align="center"><%=rs("ID")%></div></td>
<td><div align="center"><%=rs("data")%></div></td>
<td><div align="center"><%=rs("yishou")%></div></td>
</tr><%
rs.movenext
if rs.eof then exit for
next
%>
<tr>
<td colspan=3 height=25>
<!--分页代码开始-->
<%
if page=1 then
response.write"首页  "
end if
if page<>1 then
response.write"<a href=?page=1>[首页]</a>  "
response.write"<a href=?page="&(page-1)&">[上一页]</a>  "
end if
if page<>rs.pagecount then
response.write"<a href=?page="&(page+1)&">[下一页]</a>  "
response.write"<a href=?page="&rs.pagecount&">[尾页]</a>  "
end if
if page=rs.pagecount then
response.write"尾页  "
end if
<!--分页代码结束-->
%>
</td>
</tr>
</table>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
abingpow
2008-05-28 · TA获得超过2205个赞
知道大有可为答主
回答量:2830
采纳率:0%
帮助的人:2262万
展开全部
用ASP内置的分页方法是返回所有数据,当然会慢了
要想快只有采用SQL存储过程的分页,这种存储过程网上就有很多
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Chensm08
2008-05-28 · TA获得超过450个赞
知道小有建树答主
回答量:1087
采纳率:0%
帮助的人:0
展开全部
<% Response.Buffer=False %>
<%
Dim connstr
set bb = server.CreateObject("ADODB.Connection")
bb.open"driver=driver do microsoft access (*.mdb);uid=;pwd=;dbq="&server.MapPath("mychanpin.mdb")
%>
<html>
<head>
<title>每日销售情况</title>
</head>

<body>

<% '=============分页定义开始,可放在数据库打开前或后
dim action
action=request.QueryString("action")
Const MaxPerPage=20 '定义每页显示记录数,可根据实际自定义
dim totalPut
dim CurrentPage
dim TotalPages
dim j
dim sql
if Not isempty(request("page")) then
currentPage=Cint(request("page"))
else
currentPage=1
end if '=============分页定义结束
%>

<%
set rs = server.CreateObject ("adodb.recordset")
sql="select * from changpin"
rs.open sql,bb,1,1
%>

<table width="600" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="center">序号</div></td>
<td><div align="center">日期</div></td>
<td><div align="center">已售</div></td>
</tr>

<%
'=============分页类代码开始,需放在数据库数据表打开后

if err.number<>0 then
response.write "<p> </p><p align='center'>数据库中暂时无数据!</p><p> </p>"
end if
if rs.eof And rs.bof then
Response.Write "<p> </p><p align='center'>对不起,没有符合条件记录!</p><p> </p>"
else
totalPut=rs.recordcount
if currentpage<1 then
currentpage=1
end if

if (currentpage-1)*MaxPerPage>totalput then
if (totalPut mod MaxPerPage)=0 then
currentpage= totalPut \ MaxPerPage
else
currentpage= totalPut \ MaxPerPage + 1
end if
end if

if currentPage=1 then
showContent

showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
else
if (currentPage-1)*MaxPerPage<totalPut then
rs.move (currentPage-1)*MaxPerPage
dim bookmark
bookmark=rs.bookmark
showContent

showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
else
currentPage=1
showContent

showpage totalput,MaxPerPage,""&request.ServerVariables("script_name")&""
end if
end if
end if '=============分页类代码结束onmouseover="this.background=' /images/999999.jpg'" onmouseout="this.background=' /images/1w.jpg'"
%>
<% '=============循环体开始
sub showContent
dim i
i=0
i=1
do while not rs.eof
%>
<tr>
<td><div align="center"><%=rs("ID")%></div></td>
<td><div align="center"><%=rs("data")%></div></td>
<td><div align="center"><%=rs("yishou")%></div></td>
</tr>

<%
i=i+1
if i>=MaxPerPage then Exit Do
rs.movenext
loop
%>
</table>

<%'=============放置分页显示开始
rs.close '释放资源
set rs=nothing
End Sub '=============循环体结束
Function showpage(totalnumber,maxperpage,filename)
Dim n
If totalnumber Mod maxperpage=0 Then
n= totalnumber \ maxperpage
Else
n= totalnumber \ maxperpage+1
End If %>

<form method=Post action=<%=filename%>>
<p align="center" class="STYLE13">
<%If CurrentPage<2 Then %>
 第一页 上一页
<% Else %>
<a href=<% = filename %>?cx=<% =s %>&page=1>第一页</a>
<a href=<% = filename %>?cx=<% =s %>&page=<% = CurrentPage-1 %>>上一页</a>
<% End If
If n-currentpage<1 Then %>
下一页 尾 页
<% Else %>
<a href=<% = filename %>?cx=<% =s %>&page=<% = (CurrentPage+1) %>>下一页</a>
<a href=<% = filename %>?cx=<% =s %>&page=<% = n %>>尾 页</a>  
<% End If %>
页次:<b><font color=red>
<% = CurrentPage %>
</font></b>/<b><% = n %></b>页 <b><%=maxperpage%></b>个记录/页 共<b><%=totalnumber %></b>个记录
转到:<select name="cndok" class="STYLE15" onChange="javascript:location=this.options[this.selectedIndex].value;">
<%
for i = 1 to n
if i = CurrentPage then %>
<option value="<% = filename %>?cx=<% =s %>&page=<%=i%>" selected>第<%=i%>页</option>
<%else%>
<option value="<% = filename %>?cx=<% =s %>&page=<%=i%>">第<%=i%>页</option>
<%
end if
next
%>
</select></font>
</form></td>
</tr>
</table>

<% End Function '=============放置分页显示结束%>
</body>
</html>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
靐一龘
推荐于2018-04-05 · TA获得超过2023个赞
知道小有建树答主
回答量:437
采纳率:50%
帮助的人:215万
展开全部
if Rs.RecordCount>0 then
page=clng(request("page"))
rszs=rs.recordcount Rs.PageSize=15
if page=0 then page=1
pages=Rs.pagecount
if page > pages then page=pages
Rs.AbsolutePage=page
For i=1 to Rs.PageSize
循环数据
rs.movenext
j=j+i
if rs.eof then exit for
next
end if

分页代码在下:
<%
url=Request.ServerVariables("SCRIPT_NAME")
function fy()
dim temp
for each name1 in Request.form
if name1<>"page" then
temp=temp&"&"&name1&"="&Request.Form(name1)
end if
next

for each name1 in Request.QueryString
if name1<>"page" then
temp=temp&"&"&name1&"="&Request.QueryString(name1)
end if
next
fy=temp
end function
%>
<script language="jscript">
function chec()
{
if(isNaN(document.fyForm.Page.value))
{
alert("请输入数字!");
document.fyForm.Page.value=1;
return false;
}
}
</script>
<table border="0" cellspacing="0" cellpadding="0" width="100%" style="border:0px;">
<tr ><form name="fyForm" action="?<%=url%>?<%=fy()%>" method="post" onsubmit="return chec();">
<td style="border:0px; text-align:right; padding-right:25px;height:20px;">
<a href="<%=url%>?page=1<%=fy()%>">首 页</a> <a href="<%=url%>?page=<%=page-1%><%=fy()%>">上一页</a> 第 <%=page%> 页 <a href="<%=url%>?page=<%=page+1%><%=fy()%>">下一页</a> <a href="<%=url%>?page=<%=pages%><%=fy()%>">尾 页</a> 共 <%=pages%> 页
<input name="Page" type="text" id="Page" size="5" />
<input type="submit" name="Submit" value="跳转" /></td>
</form>
</tr>
</table>
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式