设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 105|回复: 3
打印 上一主题 下一主题

菜鸟求教,分页出错

[复制链接]
跳转到指定楼层
1#
发表于 2010-1-17 23:57:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
两个文件的源码如下: ////////////////////////// a.asp ////////////<html> <head> <title>利用ADO分页</title> </head> <body> <% Dim cn,rs Dim iPage
Set cn = Server.CreateObject("ADODB.Connection") cn.Open "Driver={SQL Server};Server=zhuoming;Database=ASPTest;" & _ "UID=sa;PWD=19821204" Set rs = Server.CreateObject("ADODB.RecordSet") Set rs.ActiveConnection = Cn rs.PageSize = 2 '这个值读者在使用时可根据需要设置 rs.CursorType = 3 rs.Open "SELECT * FROM information"
If Len(Request("page")) = 0 Then iPage = 1 Else iPage = Request("page") End If rs.AbsolutePage = iPage %> <p align="center">图书信息第<% =iPage%>页</p> <table border="1" cellpadding="0" cellspacing="0" bordercolor="#111111" width="646" align="center"> <tr>
<td width="20%">编号</td> <td width="20%">名称</td> <td width="20%">作者</td> <td width="20%">价格</td> <td width="20%">出版日期</td> </tr> </tr> <% For i =1 To rs.PageSize If Not rs.Eof Then %> <tr> <td width="20%"><%=rs(0)%> </td> <td width="20%"><%=rs(1)%> </td> <td width="20%"><%=rs(2)%> </td> <td width="20%"><%=rs(3)%> </td> <td width="20%"><%=rs(4)%> </td> </tr> <% End If If Not rs.Eof Then rs.MoveNext Next %> </table> <p align="center"> <% If CInt(iPage) = 1 Then %> 第一页|上一页| <% Else %> <a href="a.asp?page=1">第一页</a>| <a href="a.asp?page=<% = iPage - 1 %>">上一页</a>| <% End If %> <% If CInt(iPage) = CInt(rs.PageCount) Then %> 下一页| 最后一页 <% Else %> <a href="a.asp?page=<% = iPage + 1 %>">下一页</a>| <a href="a.asp?page=<% = rs.PageCount %>">最后一页</a> <% End If %> <% rs.Close Set rs = Nothing cn.Close Set cn = Nothing %> <form name="aform" method="post" action="b.asp"> 排列功能:<p> 请填入列名:<input name="lieming" type="text" size="10"> 升序<input name="pailie" type="radio" value="sheng" checked> 降序<input name="pailie" type="radio" value="jian"> <input name="submit2" type="submit" id="submit2" value="确定">    <input name="reset2" type="reset" id="reset2" value="取消"> </form> </body> </html> ///////////////////////////////////////////// b.asp: ///////////////////////// <html> <head> <title>利用ADO分页</title> </head> <body> <% Dim cn,rs Dim iPage dim lieming Set cn = Server.CreateObject("ADODB.Connection") cn.Open "Driver={SQL Server};Server=zhuoming;Database=ASPTest;" & _ "UID=sa;PWD=19821204" Set rs = Server.CreateObject("ADODB.RecordSet") Set rs.ActiveConnection = Cn rs.PageSize = 2 rs.CursorType = 3 lieming=request.form("lieming") pailie=request.form("pailie")
if pailie="sheng" then rs.Open "SELECT * FROM information order by '"&lieming&"' asc" elseif pailie="jian" then rs.Open "SELECT * FROM information order by '"&lieming&"' desc" end if If Len(Request("page")) = 0 Then iPage = 1 Else iPage = Request("page") End If rs.AbsolutePage = iPage %> <p align="center">图书信息第<% =iPage%>页</p> <table border="1" cellpadding="0" cellspacing="0" bordercolor="#111111" width="646" align="center"> <tr> <td width="20%">编号</td> <td width="20%">名称</td> <td width="20%">作者</td> <td width="20%">价格</td> <td width="20%">出版日期</td> </tr> </tr> <% For i =1 To rs.PageSize If Not rs.Eof Then %> <tr> <td width="20%"><%=rs(0)%> </td> <td width="20%"><%=rs(1)%> </td> <td width="20%"><%=rs(2)%> </td> <td width="20%"><%=rs(3)%> </td> <td width="20%"><%=rs(4)%> </td> </tr> <% End If If Not rs.Eof Then rs.MoveNext Next %> </table> <p align="center"> <% If CInt(iPage) = 1 Then %> 第一页|上一页| <% Else %> <a href="b.asp?page=1">第一页</a>| <a href="b.asp?page=<% = iPage - 1 %>">上一页</a>| <% End If %> <% If CInt(iPage) = CInt(rs.PageCount) Then %> 下一页| 最后一页 <% Else %> <a href="b.asp?page=<% = iPage + 1 %>">下一页</a>| <a href="b.asp?page=<% = rs.PageCount %>">最后一页</a> <% End If %> <% rs.Close Set rs = Nothing cn.Close Set cn = Nothing %> </body> </html> 第一页可以正确显示,第二页就不行了,错误如下:
ADODB.Recordset 错误 '800a0e78'
对象关闭时,操作不被允许。
/b.asp,行30 望各位高手百忙中抽空看看,小弟感激不尽,先谢谢啦
2#
发表于 2010-1-17 23:57:28 | 只看该作者
ADODB.Recordset 错误 '800a0e78' rs对像出错(记录集不存在,缺少rs.open语句) 你自己看看吧实在不行就把 rs.Close Set rs = Nothing cn.Close Set cn = Nothing 去掉试试
回复 支持 反对

使用道具 举报

3#
发表于 2010-1-17 23:57:33 | 只看该作者
if pailie="sheng" then
  rs.Open "SELECT * FROM information order by '"&amp;lieming&amp;"'  asc"
  elseif pailie="jian" then
  rs.Open "SELECT * FROM information order by '"&amp;lieming&amp;"'  desc"
  end if

仔细查看这里~
看看pailie的值有无传到
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 14:54 , Processed in 0.077758 second(s), 8 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表