标题:求助ASP分页问题
只看楼主
无名shi
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-18
结帖率:100%
已结贴  问题点数:20 回复次数:9 
求助ASP分页问题
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file=conn.asp-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.
<html xmlns="http://www.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
body {
    background-color: #99CCFF;
}
-->
</style></head>

<body>
  
<%dim newsXiaoleiID
    newsXiaoleiID=request.QueryString("id")
 
  sql="select * from shop_news where  newsXiaoleiID="&newsXiaoleiID&"   order by newsid desc"   
  set rs=server.createobject("adodb.recordset")
  rs.open sql,conn,3,1  
  if  not isempty(request("page"))  then         
      pagecount=cint(request("page"))         
      else         
      pagecount=1   
      end   if   
      n=1   
      rs.pagesize=50   
      rs.AbsolutePage=pagecount   
      filename="newsMX5.asp"   
  %>                 
  <table width="311" border="0" align="center">
    <%
    do   while   not   rs.eof
     %>
    <tr>
      <td width="305"><font color="#0099CC"><font color="#666666"><img src="images/top2.gif" width="12" height="13"><a href=news.asp?id=<%=rs("newsid")%> target="_blank"> <%=rs("newsname")%></a></td>
    </tr>
     <%   
        rs.movenext   
        n=n+1      
        if   n>rs.pagesize  then  exit  do
        loop
      %>  
  </table>
  <table   width="535"   border="0"   cellspacing="0"   cellpadding="0"   align="center">   
                  <form   action="<%=filename%>"   method="post">   
                      <tr   bgcolor="#B0CCDC">     
                          <td   height="35"   bgcolor="#FFFFFF">     
                              <div   align="center">   <font   size="2"   face="黑体"   class="a">共   <b><%=rs.recordcount%></b>   条记录,   页次:   <b><font   color=red><%=pagecount%></font>/<%=rs.pagecount%></b>,     
                      <%   if   pagecount=1   and   rs.pagecount<>pagecount   and   rs.pagecount<>0   then%>   
                                  <a   href="<%=filename%>?page=<%=cstr(pagecount+1)%>"   class="a">[下一页]</a>     
                                  <%   end   if   %>   
                      <%   if   rs.pagecount>1   and   rs.pagecount=pagecount   then   %>   
                                  <a   href="<%=filename%>?page=<%=cstr(pagecount-1)%>"   class="a">     
                                  [上一页]</a>     
                                  <%end   if%>   
                      <%   if   pagecount<>1   and   rs.pagecount<>pagecount   then%>   
                                  <a   href="<%=filename%>?page=<%=cstr(pagecount-1)%>"   class="a">     
                                  [上一页]</a>   <a   href="<%=filename%>?page=<%=cstr(pagecount+1)%>"   class="a">     
                                  [下一页]</a>     
                                  <%   end   if%>   
                      &nbsp;   直接到第     
                      <select   name="page">   
                          <%for   i=1   to   rs.pagecount%>   
                          <option   value="<%=i%>"><%=i%></option>   
                          <%next%>   
                      </select>   
                      页     
                      <input   type="submit"   name="go"   value="Go">   
                      </font></div>   
                      </td>   
                      </tr>   
                  </form>   
</table>   

</body>
</html>

我是菜鸟
说明:1接收上页参数newsXiaoleiID
2.where newsXiaoleiID="&newsXiaoleiID&"分页不正常.点下页时提示语法错误 (操作符丢失) 在查询表达式 'newsXiaoleiID=' 中。
3.改成where newsXiaoleiID=15时分页正常.
4.很明显newsXiaoleiID的值在点下页时没有传过去.故提示语法错误 (操作符丢失) 在查询表达式 'newsXiaoleiID=' 中。
如何解决问题,请各位高手赐教,不胜感谢!!
搜索更多相关主题的帖子: ASP 
2009-08-18 12:16
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:3 
分页时把参数带上就可以
参考我这个帖子写的
https://bbs.bccn.net/thread-283038-1-1.html
2009-08-18 14:03
无名shi
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-18
得分:0 
谢谢您的指教!您没有弄清我的问题.问题仍没有解决.您的查询程序没有条件"select * From Device ORDER BY ID DESC",conn(您的原文)我的程序是有条件 sql="select * from shop_news where  newsXiaoleiID="&newsXiaoleiID&"   order by newsid desc"   问题就在于红字处.将="&newsXiaoleiID&" 改为常量,如数值11,12,13....(即不是接收上页的参数 where=11或12,13)时,我的翻页程序都能正常执行.但如果接收上页的参数"newsXiaoleiID"(即where="&newsXiaoleiID&" )时,第一页还能正常显示,但下一页不能显示,提示:Microsoft JET Database Engine (0x80040E14)语法错误 (操作符丢失) 在查询表达式 'newsXiaoleiID=' 中。很明显,在点下一页时参数"&newsXiaoleiID&" 丢失,没能传过来.因此提示Microsoft JET Database Engine (0x80040E14),语法错误 (操作符丢失) 在查询表达式 'newsXiaoleiID=' 中。问题是如何在点下一页时上页的条件参数不丢失.谢谢!!
2009-08-18 17:06
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:3 
AspSearch.rar (14.13 KB)
再给一个例子给你
2009-08-18 17:25
myosotis
Rank: 5Rank: 5
等 级:职业侠客
帖 子:72
专家分:377
注 册:2009-8-4
得分:3 
在分页链接中应该传递newsXiaoleiID参数,如:?page=参数&newsXiaoleiID=<%=newsXiaoleiID%>

花自漂零水自流,一种相思,两处闲愁
2009-08-19 11:41
jingjing316
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:293
专家分:541
注 册:2009-8-11
得分:4 
显示页面控制
sub showPageCtrl(intMaxPage,intCurPage,strUrl)
    dim I
    if intCurPage > 1 then
        response.write "<a href='" & strUrl & "1'>首页</a>&nbsp;&nbsp;<a href='" & strUrl & intCurPage - 1 & "'>上一页</a>&nbsp;&nbsp;"
    else
        response.write "首页&nbsp;&nbsp;上一页&nbsp;&nbsp;"
    end if
    response.write "第 <font color='red'>" & intCurPage & "</font>/" & intMaxPage & " 页&nbsp;&nbsp;"
    if intCurPage < intMaxPage then
        response.write "<a href='" & strUrl & intCurPage + 1 & "'>下一页</a>&nbsp;&nbsp;<a href='" & strUrl & intMaxPage & "'>尾页</a>&nbsp;&nbsp;"
    else
        response.write "下一页&nbsp;&nbsp;尾页&nbsp;&nbsp;"
    end if
    response.write "跳转到:<select onChange=""window.open('" & strUrl & "' + this.value,'_self');"">"
    for I = 1 to intMaxPage
        response.write "<option value='" & I & "'>第 " & I & " 页</option>"
    next
    response.write "</select>"
end sub
先传个函数
2009-08-19 11:53
jingjing316
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:293
专家分:541
注 册:2009-8-11
得分:4 
dim  intMaxPerPage,intCurPage,intMaxPage,intCurRec
 intMaxPerPage = 12'定义每页显示多少条题目
    if IsNumeric(Trim(request.querystring("page"))) = true then
        intCurPage = CLng(Trim(request.querystring("page")))
    else
        intCurPage = 1
    end if
set rsMark = server.createobject("ADODB.Recordset")
strSqlMark = "select * from course C, project P,prj_student P_S,student S where P.prjid=P_S.prjid  and S.studentid=P_S.studentid and C.courseid=P_S.courseid "
rsMark.open strSqlMark,G_CONN,1,1
rsMark.pagesize=intMaxPerPage
if intCurPage < 1 then
        intCurPage = 1
elseif intCurPage > rsMark.pagecount then
        intCurPage = rsMark.pagecount
    end If
    intMaxPage = rsMark.pagecount
    if not rsMark.eof and not rsMark.bof then
        rsMark.absolutepage = intCurPage
    end If
if rsMark.bof or rsMark.eof then
        response.write "<tr class='tdbg'><td colspan='6' align='center'>没有记录</td></tr>"
    end if
    intCurRec = 1   
do while not rsMark.eof  and intCurRec <= intMaxPerPage
strStudentName = rsMark("studentname")
strCoursename=rsMark("coursename")
strPrjName = rsMark("pname")
dtmStartDate = rsMark("prjendtime")
intSSCount = rsMark("ss_count")
intMSCount = rsMark("ms_count")
intBCount = rsMark("b_count")
intTotalMark = intSSCount + intMSCount * 2 + intBCount
intMark = rsMark("mark")
%>
         
 
         <tr class="tdtbg" style="color:#FFFFFF">   
        <td align="center"> <%=strStudentName%> </td>
        <td align="center"><font size=2 color=navy ><%=intMark%> </font></td>
       <td align="center"> <%=intTotalMark%>   </td>
       <td align="center">   <%=strPrjName%> </td>
     <td align="center"> <%=strCoursename%>  </td>
      <td align="center"> <%=dtmStartDate%>   </td>
  
      </tr>  
<%   
rsMark.movenext   
intCurRec = intCurRec + 1
loop   
%>
</table>
<center><%
call showPageCtrl(intMaxPage,intCurPage,"sqlscore.asp?page=")
%></center>      
照葫芦画瓢吧,就能实现分页显示了

[ 本帖最后由 jingjing316 于 2009-8-19 16:56 编辑 ]
2009-08-19 11:56
szsming
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2009-6-29
得分:3 
出错是正常的
newsXiaoleiID=request.QueryString("id")
,而当你点下一页时
<a   href="<%=filename%>?page=<%=cstr(pagecount+1)%>"   class="a">[下一页]</a>      
这里并没有ID的参数啊,也就是rquest.querystring("id")在你点下一页时为空了,在你下一页处加个ID参数试下看看罗
2009-08-19 14:47
无名shi
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-18
得分:0 
翻页已经解决.但跳转又不行.故提示语法错误 (操作符丢失) 在查询表达式 'newsXiaoleiID=' 中。求高人指教!!谢谢!!
2009-08-20 11:06
无名shi
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-8-18
得分:0 
全部解决
2009-08-20 17:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-283095-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.090912 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved