注册 登录
编程论坛 ASP技术论坛

asp生成静态类别列表出错

towering 发布于 2010-06-30 17:31, 824 次点击
在网上找了一个生成静态类别列表的代码,修改了几个地方。
只要一修改第15行的Rs.pagesize的值就会出现:
Microsoft JET Database Engine 错误 '80040e14'
语法错误 (操作符丢失) 在查询表达式 'ClassID=' 中。
/officeadmin/HtmlClass.asp,行 11
后来我试了一下,发现只能生成一页分类列表,只要一修改Rs.pagesize的值,让分类列表在2页以上就会出现上述错误!
请高人给指点一下!
谢谢!

下面是我的代码:
程序代码:
<!--#include file="Conn.asp"-->
<%
Classid
=Request.QueryString("id")
If(Request.QueryString("Page")="") Then
    Page
=1
Else
    Page
=Request.QueryString("Page")
End If
SQL
="Select id,Title,AddTime,Hits,filepath,filename From News where ClassID="&Classid'这里是第11行,从上页传递id参数过来,应该没有问题。
Set Rs = Server.CreateObject("Adodb.RecordSet")
    Rs.Open SQL,Conn,
1,1
        
If(Rs.EOF) Then
            strList
="没有内容"
        
Else
            Rs.pagesize
=27'这里是第15行,就是这里出现错误!
        Rs.AbsolutePage=Page
        TotalPage
=Rs.PageCount
        
For i=0 To rs.pagesize-1
        
If Rs.eof Then Exit For
        filepath
="../"&Classid&"/"&rs("filename")
        strList
= strList & "<ul><li><a href='"&filepath&"' target='_blank' title='"&rs("title")&"'>"&left(rs("Title"),16)&"</a></li></ul>"
    Rs.movenext
   
Next
        
If(Int(Page)=1) Then
            PageFirst
="[首页"
        
Else
            PageFirst
="[<a href=""Class_1.html"">首页</a>"
        
End If
        
If(Int(Page)=1)Then
            PageBack
=" 上一页 "
        
Else
            PageBack
=" <a href=""Class_"&Page-1&".html"">上一页</a> "
        
End If
        
If(Int(Page)=TotalPage)Then
            PageNext
=" 下一页 "
        
Else
            PageNext
=" <a href=""Class_"&Page+1&".html"">下一页</a> "
        
End If
        
If(Int(Page)=TotalPage)Then
            PageLast
="尾页]"
        
Else
            PageLast
="<a href=""Class_"&TotalPage&".html"">尾页</a>]"
        
End If
    AbsPage
="第<select onchange=""window.location='"&Classid&"_'+this.options[this.selectedIndex].value+'.html'"">"
   
For j=1 To TotalPage
        AbsPage
=AbsPage&"<option value="&j
        
If(Cstr(j)=Cstr(Page))Then
            AbsPage
=AbsPage&" selected"
        
End If
        AbsPage
=AbsPage&">"&j&"</option>"
   
Next
        AbsPage
=AbsPage&"</select>页"
        PageNav
=PageFirst&PageBack&PageNext&PageLast&AbsPage
   
End If

    Content
=Conn.Execute("Select Content From Template Where ID=2")(0)
    Content
=replace(Content,"$ArticleList$",strList)
    Content
=replace(Content,"$PageNav$",PageNav)

   
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
    filepath
="..\Html\"&Classid&"\"
   
If not fso.FolderExists(Server.MapPath(filepath)) then
    fso.CreateFolder(Server.MapPath(filepath))
   
End if
   
Set Fout = FSO.CreateTextFile(Server.MapPath(filepath&Classid&"_"&Page&".html"))
    Fout.Write Content
    Fout.Close
If(Int(Page)<Int(TotalPage))Then
%>
<!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>Untitled Document</title>
<meta http-equiv="refresh" content="0;url=?Page=<%=Page+1%>">
</head>
<body>
<font color=red><b><%=Page%></b></font>页生成完毕!
</body>
</html>
<%Else%>
生成文章分类完毕,共生成<font color=red><b><%=TotalPage%></b></font>
<%End If%>


[ 本帖最后由 towering 于 2010-6-30 20:26 编辑 ]
4 回复
#2
towering2010-06-30 20:28
自己顶一下!
不要沉了!

期待高人出现!
#3
towering2010-07-01 08:55
再顶!
#4
hams2010-07-01 09:04
原来的值是多少
#5
towering2010-07-01 19:27
原来的值是27。问题解决了,在后面的刷新循环中也要加上传递的参数值!
1