ASP分页功能数据库里表没有数据的时候 页面就出错了 请教下要怎么改
<%
dim cnstr,epage,i,id
id=request.QueryString("id")
cnstr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath("./sb.mdb")
dim rs
set cn = server.CreateObject("adodb.connection")
cn.Open cnstr
sql = "select * from shenbao where U_ID="&id&" and S_Zt='已审核' order by S_time desc "
set rs = server.createobject("adodb.recordset")
rs.open sql,cn,3
rs.pagesize=20
'设置每页记录数
if request("page")<>"" then
epage=cint(request("page"))
'取当前的页数
if epage<1 then epage=1
'若当前页数小于1则置为1
if epage>rs.pagecount then epage=rs.pagecount
'若当前页数大于最大页数值则置为最大页数
else
epage=1
'否则页数为默认值1
end if
rs.absolutepage=epage
'记录定位到当前页
for i=0 to rs.pagesize-1
'循环显示本页记录
if rs.bof or rs.eof then exit for
'若已经到记录末尾或没有数据则退出循环
response.Write "<tr>"
response.write "<td align='left' width='40%' > "&rs("S_Cs")&"</td>"
response.Write "<td align='center' width='15%'>"&rs("S_Zt")&"</td>"
response.write "<td align='center' width='15%'><a href='sbxx.asp?id="&rs("S_ID")&"' target='right'>查看</a></td>"
response.Write "</tr>"
rs.movenext
next
%>
[解决办法]
试试去。
<%Dim cnstr, epage, i, idid = request.QueryString("id")cnstr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath("./sb.mdb")Dim rsSet cn = server.CreateObject("adodb.connection")cn.Open cnstrsql = "select * from shenbao where U_ID="&id&" and S_Zt='已审核' order by S_time desc "Set rs = server.CreateObject("adodb.recordset")rs.Open sql, cn, 1, 1If (rs.bof And rs.EOF) ThenElse rs.pagesize = 20 '设置每页记录数 If request("page")<>"" Then epage = CInt(request("page")) '取当前的页数 If epage<1 Then epage = 1 '若当前页数小于1则置为1 If epage>rs.pagecount Then epage = rs.pagecount '若当前页数大于最大页数值则置为最大页数 Else epage = 1 '否则页数为默认值1 End If rs.absolutepage = epage '记录定位到当前页 For i = 0 To rs.pagesize -1 '循环显示本页记录 If rs.EOF Then Exit For '若已经到记录末尾或没有数据则退出循环 response.Write "<tr>" response.Write "<td align='left' width='40%' > "&rs("S_Cs")&"</td>" response.Write "<td align='center' width='15%'>"&rs("S_Zt")&"</td>" response.Write "<td align='center' width='15%'><a href='sbxx.asp?id="&rs("S_ID")&"' target='right'>查看</a></td>" response.Write "</tr>" rs.movenext NextEnd Ifrs.CloseSet rs = Nothing%>
[解决办法]
<%
dim cnstr,epage,i
cnstr = "driver={Microsoft Access Driver (*.mdb)};dbq=" & server.MapPath("./sb.mdb")
dim rs
set cn = server.CreateObject("adodb.connection")
cn.Open cnstr
sql = "select * from shenbao order by S_ID desc "
set rs = server.createobject("adodb.recordset")
rs.open sql,cn,3
'-------------------------------
if rs.eof and rs.bof then
response.write "无数据"
else
rs.pagesize=20
'设置每页记录数
if request("page")<>"" then
epage=cint(request("page"))
'取当前的页数
if epage<1 then epage=1
'若当前页数小于1则置为1
if epage>rs.pagecount then epage=rs.pagecount
'若当前页数大于最大页数值则置为最大页数
else
epage=1
'否则页数为默认值1
end if
rs.absolutepage=epage
'记录定位到当前页
for i=0 to rs.pagesize-1
'循环显示本页记录
'if rs.bof or rs.eof then exit for
'若已经到记录末尾或没有数据则退出循环
response.Write "<tr>"
response.write "<td align='left' width='50%' > "&rs("S_Cs")&"</td>"
response.Write "<td align='center' width='20%'>"&rs("S_Zt")&"</td>"
response.write "<td align='center' width='20%'><a href='shxx.asp?id="&rs("S_ID")&"' target='right'>查看</a></td>"
response.Write "</tr>"
rs.movenext
next
end if
%>
<tr>
<td valign="bottom" colspan="3">
<p align="center">
<br />
<br />
<br />
<a href="shenhe.asp?page=1" target="_self">首页</a>
<a href="shenhe.asp?page=<%=epage-1%>" target="_self">前一页</a>
<a href="shenhe.asp?page=<%=epage+1%>" target="_self">后一页</a>
<a href="shenhe.asp?page=<%=rs.pagecount%>" target="_self">末页</a></p>
<p align="center" style="vertical-align:bottom">现在是第<%=epage%>页一共有<%=rs.pagecount%>页</p>
<%
cn.Close
set cn = nothing
%>