<!-- #include file="function.inc.asp" -->(此处为引用分页)<%dim conn,dbpath,sql,rs,iset conn=Server.CreateObject("adodb.connection")conn.open "DRIVER=Driver do Microsoft Access (*.mdb);DBQ="&Server.MapPath(dbpath & "zhigong.mdb")%><%if request.QueryString("page")="" thenpage=1elsepage=cint(request.QueryString("page"))end ifpagelistnum=10bb=request("bb")if bb<>""thenset rs=server.CreateObject("adodb.recordset")sql="select * from zhigong where 姓名 like '%"&bb&"%'"rs.open sql,conn,1,1rs.PageSize=pagelistnumrs.AbsolutePage=pageif not rs.eof thenelseresponse.write("没有找到您需要的内容")i=1do while not (rs.eof or i=rs.pagesize)%><table width="360" border="0" align="center" cellpadding="0" cellspacing="0"><tr><td><%=rs("姓名")%></td></tr></table><%rs.movenexti=i+1loopend ifrs.closelink="查询.asp?t="sql="select count(*) as num from zhigong where 姓名 like '%"&bb&"%'"fy sql,page,pagelistnum,linkend if %>错误为在搜索非表内数据时超出范围无法判断,请高手看下我的判断是否正确并找到原因错误提示:BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
2 回答

慕莱坞森
TA贡献1810条经验 获得超4个赞
主要是判断错误,先看一下你的代码:
if not rs.eof then '如果不为空
else ' 为空的话
do while not (rs.eof or i=rs.pagesize)'执行循环
……
rs.movenext
loop
end if
在空的情况下执行Do while Not Rs.eof系统自然提示错,所以改一下:
if rs.eof then '就这里改一下去掉 not即可
else
do while not (rs.eof or i=rs.pagesize)
……
rs.movenext
loop
end if

慕尼黑8549860
TA贡献1818条经验 获得超11个赞
<%
dim 姓名
姓名=request("姓名")
set rs=server.CreateObject("adodb.recordset")
sql="select * from zhigong order by 姓名 desc"
rs.open sql,conn,1,1
if 姓名="" then
response.write"没有找到您需要的内容"
response.end
end if
%>
- 2 回答
- 0 关注
- 173 浏览
添加回答
举报
0/150
提交
取消