请asp高手帮看下这段代码哪里错了 急 分全给你~~

来源:百度知道 编辑:UC知道 时间:2024/05/02 04:51:27
<!--#include file="conn.asp" -->
<!--#include file="lib.asp" -->
<!-- #include file="config/function.inc.asp" -->
<%
Set rs = Server.CreateObject ("ADODB.Recordset")
sql = "Select * from c_news order by c_id desc"
rs.Open sql,conn,1,1
%>
<%
dim sql,rs
set rs=server.createobject("adodb.recordset")
if request.QueryString("page")="" then
page=1
else
page=cint(request.QueryString("page"))
end if
pagelistnum=10
set rs=server.CreateObject("adodb.recordset")
sql="select top " & (page*pagelistnum) & " * from c_news"
rs.open sql,conn,1,1
rs.PageSize=pagelistnum
rs.AbsolutePage=page
while not rs.eof
%>
<%
if rs.EOF and rs.BOF then
response.write ("暂时还没有文章,<a

<%
rs.close
Set rs = Nothing
conn.close
set conn=Nothing
%>
<%
rs.movenext
wend
rs.close
response.Write "<br>"
link="admin_show.asp?t="
sql="select count(*) as num from c_news"

fy sql,page,pagelistnum,link
end if
%>
你已经把rs关闭了 怎么还能rs.movenext呢?

在Set Rs=Server.CreateObject("adodb.recordset")没有闭合的情况下,不能紧接着再用Set Rs=Server.CreateObject("adodb.recordset")了。

我看了一下你的代码,主要是从〔c_news〕表中读取纪录进行管理,同事进行分页。从头到尾只存在一个查询,所以可以从简去写:
[关键代码]

<%
Dim Rs,Pagelistnum,Page,Sql

Pagelistnum=10 '每页显示10条
Page=Cint(Trim(Request("Page")))
if Page="" then
Page=1
end if

Set Rs=Server.CreateObject("Adodb.recordset")
Sql="Select Top PageListNum*Page form [c_news] Order by c_id desc"
Rs.open Sql,conn,1,1
if Rs.eof