如何实现下一页的查找方式(100分)

  • 主题发起人 主题发起人 谭俊峰
  • 开始时间 开始时间

谭俊峰

Unregistered / Unconfirmed
GUEST, unregistred user!
我想在SQL Server数据库中实现类似大富翁那样分页查看数据,
可我不知道SQL语句该如何写?
 
1
select top 100 * from customer
2
select top 200 * from customer
minus
select top 100 * from customer
依次类推

 
不太明白啊!
top 100 是前100条记录,
Top 200 是前200条记录,
而我想要的是下一个100条记录。
 

>> top 100 是前100条记录,
>> Top 200 是前200条记录,
>> 而我想要的是下一个100条记录。
because:
minus
select top 100 * from customer
 
只能通过移动游标来实现
 
To:吴剑明
能具体些吗?
 
参见此问题,已解决
http://www.delphibbs.com/delphibbs/DispQ.asp?LID=203683
 
不知道大富翁是怎么解决的,应该不是cheka ,因为它不是根据前一页最后一个id来取
下一页的,可以看到它是即时更新的。
 
你找本ASP的书看一下就知道怎么做了,很简单的!!!
 
%'要将recordset分成几个页面,用PAGESIZE属性设定每页面中记录数,然后打开recordset,用absolutepage属性移到某特定页面%>

<%

dim rowcount,currentpage,i,j '定义变量
set conn=server.CreateObject("adodb.connection")
'参数DRIVE用业规定MICROSOFT ACCESS驱动,DBQ参数提供MICROSOFT ACCESS数据库文件的路径。
'将数据插入表ACCESS数据库而不是SQL SERVER数据库时,必须用INSERT INTO而不是INSTER。

DBPath = Server.MapPath("data/guestbook.mdb")'取得guestbook.mdb的绝对路径
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" &amp; DBPath
Set rs = Server.CreateObject("ADODB.Recordset")
sql = "select * from 留言板"
rs.cursortype=adopenstatic '设置游标
rs.pagesize=4 '设置一个页面中的记录数
rs.open sql,conn,3,2
if rs.eof then
response.write ("唉...怎么没有人留言给我呢???")
else
j=rs.pagecount

currentpage=trim(request("currentpage"))
if currentpage="" then currentpage=1 '如果是刚打开这个页面,把currentpage设为1
rowcount=0
'需要把URL字符串的输入值转化为一个整数,若不这样,则变量值可能不会被正确认别为
'一整数,可能会导致奇怪的错误,该数值是确定你在那个页面里。
if not isnumeric(crrentpage) then
i=cint(currentpage)
rs.absolutepage=cint(currentpage)
else
i=currentpage
rs.absolutepage=Cint(currentpage)
end if
%>
...
...
...
</table>
<table width="511" border="0">
<tr>
<%if not currentpage=1 then%>
<td>
<div align="center"><a href="guestbook_2.asp?currentpage=" class="text">第一页</a></div>
</td>
<%end if%>
<%if not currentpage=j then%>
<td>
<div align="center"><a href="guestbook_2.asp?currentpage=<%=currentpage+1%>" class="text">下一页</a></div>
</td>
<%end if %>
<%if not currentpage=1 then%>
<td>
<div align="center"><a href="guestbook_2.asp?currentpage=<%=currentpage-1%>" class="text">上一页</a></div>
</td>
<%end if%>
<% if not currentpage=j then %>
<td>
<div align="center"><a href="guestbook_2.asp?currentpage=<%=j%>" class="text">最后一页</a></div>
</td>
<% end if%>
</tr>
</table>
<br>
<%set conn=nothing
set rs=nothing
end if
%> <br>
 
在where 子句里加条件不就可以吗?
1 : select top 100 * from table_name
记录last pk_id
2 : select top 100 * from table_name
where pk_id >last pk_id

 
ADO的Recordset对象的PageSize、PageCount、
AbsolutePage等属性可实现分页功能。
 
多人接受答案了。
 
后退
顶部