|
蓝森林 http://www.lslnet.com 2006年8月25日 8:28
(ASP求助)翻页出错~
按照传递过来的参数ID显示内容,页面上按照4*4=16的格式排列,第一页可以正常显示,但是下一页和最后一页就出错了。错误如下:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'productid=' 中。
请问哪里出错了。。
<%
set rs=server.CreateObject("adodb.recordset")
rs.Pagesize=16
pages=cInt(Request.Querystring("page"))
If pages=0 Then pages=1 End If
sql="select * from product2 where productid="&request.QueryString("id")
rs.open sql,conn,1,3
If Not rs.Eof Or Not rs.Bof Then
rs.Absolutepage=CInt(pages)
row=0
While Not rs.Eof And row<rs.Pagesize
%>
<table width="28%" height="146" border="0" cellpadding="0" cellspacing="6" bordercolor="#eeeeee">
<tr>
<% for i=1 to 4 %>
<td height="140"><div align="center">
<a href="productmore2.asp?ID=<%=rs("ID")%>"><img src="admin/<%=rs("productimg")%>" width="160" height="120" border="0"></a>
<a href="productmore2.asp?ID=<%=rs("ID")%>"><%=rs("productname")%></a></div></td>
<% rs.movenext
row=row+1
if rs.eof then exit for
next
wend%>
</tr><% end if %>
</table>
<table width="100%" height="51" border="0" cellpadding="0" cellspacing="0">
<% If pages=1 Then %>
<% If pages<>rs.PageCount Then %>
<tr>
<td >
<table height="20" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="203" align="right">
<a href="productmore.asp?&page=<%=(pages+1)%>">下一页</a>
<a href="productmore.asp?&page=<%=(rs.PageCount)%>">最后一页</a></td>
</tr>
</table></td>
</tr>
<% End If %>
<% Else%>
<% If pages<rs.PageCount Then %>
<tr>
<td align="right">
<table height="20" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="203" align="right">
<a href="productmore.asp?page=1">第一页</a>
<a href="productmore.asp?page=<%=(pages-1)%>">上一页</a>
<a href="productmore.asp?page=<%=(pages+1)%>">下一页</a>
<a href="productmore.asp?page=<%=(rs.PageCount)%>">最后一页</a>
</td></tr></table>
</td></tr>
<% Else %>
<tr>
<td align="right">
<table height="20" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="203" align="right"><a href="productmore.asp?page=1">第一页</a> <a href="productmore.asp?page=<%=(pages-1)%">上一页</a> </td>
</tr></table></td>
</tr>
<% End If %>
<% End If%>
</table> |
你的所有?page=后面没有递参数id的值,当然会报错
<a href="productmore.asp?page=1&id=<%=id%>">第一页</a>
<a href="productmore.asp?page=<%=(pages-1)%>&id=<%=id%>">上一页</a>
<a href="productmore.asp?page=<%=(pages+1)%>&id=<%=id%>">下一页</a>
<a href="productmore.asp?page=<%=(rs.PageCount)%>&id=<%=id%>">最后一页</a>
类似于这样改一下 |
<a href="productmore.asp?page=1&productid=<%=request.querystring("id")%>">第一页</a>
<a href="productmore.asp?page=<%=(pages-1)%>&productid=<%=request.querystring("id")%>">上一页</a>
<a href="productmore.asp?page=<%=(pages+1)%>&productid=<%=request.querystring("id")%>">下一页</a>
<a href="productmore.asp?page=<%=(rs.PageCount)%>&productid=<%=request.querystring("id")%>">最后一页</a>
这样改了试了还是不行!! |
顶上去,找人解决问题,能解决的大伙伸出您的手吧!!
我在等呀…… |
要分页的话,那读取数据库的时候就不能只读一条记录啦(sql="select * from product2 where productid="&request.QueryString("id"))
改成:
sql="select * from product2 order by productid desc"试试
|
幻想曲在上个帖子中说
哈哈,好了。终于不用郁闷了!!
<a href="productmore.asp?page=<%=(rs.PageCount)%>&[color=red]productid[/color]=<%=request.querystring("id")%>">最后一页</a>
把productid该为id就行了。。。晕呢,真想不通,难道这个会跟字段冲突?!!:confused:
|
|