求天涯任贤齐刘路辉:asp中recordset缺少对象的问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 10:05:56
我的一个asp页面
<
sql="select * from DoubleSatInstall "
response.write(sql)

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql,conn ,adOpenStatic,adLockOptimistic
'adOpenStatic = 3
rs.PageSize=20

Page = CLng(Request("Page")) ' CLng 不可省略
If Page < 1 Then Page = 1
If Page > rs.PageCount Then Page = rs.PageCount
If Request("Page")="" then Page=1

response.write("<br>"&rs.recordcount)
response.write("<br>"&rs.pagecount)
%>
上面代码执行时能在页面显示出这个sql语句对应的记录数,及20条记录为一页情况下分多少页。但是我在这页的html中调用了一个显示rs对应记录的function时,却提示缺少对象,这是怎么回事啊??
调用分页函数的代码为:
<table >省去此处内容
</table>
<%
response.Write(rs.pagecount)
'response.write orderyear
%>
<table >省去此处内容
</table>
烦请各位替我看看这是什么回事啊,我搞半天也弄不出来啊。
一:
对了,我在页面顶端有一句
<!--#include file="../../Include/dbconnect.asp" -->
这个dbconnect.asp中为如下语句
<%
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../DB.mdb")
%>
二:
最上面那句copy过来copy错了,应该是<%
三:
页面顶端还有一句
<!--#include file="../../Include/adovbs.inc"-->
这个里面包括了对adOpenStatic,adLockOptimistic 等的const型定义
四:
按照kosinghu的建议,改为rs.Open sql,conn ,1,1 后错误依旧啊,还是没有解决啊
------------------------------
我找到原因所在了,因为我的页面里面有一段程序调用了一个其他页的函数,而那个函数里面也定义了rs,这样就冲突了,所以所调用函数中关闭了rs也就关闭了本页面中的rs,故对象不存在了!

最上面那个是<%吧.是不是笔误?

改为:复制下面的代码用看
<%
sql="select * from DoubleSatInstall "
response.write(sql)

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql,conn ,1,1
rs.PageSize=20

Page = CLng(Request("Page")) ' CLng 不可省略
If Page < 1 Then Page = 1
If Page > rs.PageCount Then Page = rs.PageCount
If Request("Page")="" then Page=1

response.write("<br>"&rs.recordcount)
response.write("<br>"&rs.pagecount)
%>