WEB开发网
开发学院WEB开发ASP 用RecordSet实现分页(by Daniel Adrian) 阅读

用RecordSet实现分页(by Daniel Adrian)

 2000-10-16 10:09:22 来源:WEB开发网   
核心提示:Paging through a recordset by Daniel Adrian Skill level: Beginner First posted: Monday, October 09, 2000 Paging through a recordsetWhen I want to develo
Paging through a recordset
by Daniel Adrian

Skill level: Beginner

First posted: Monday, October 09, 2000





Paging through a recordset

When I want to develop an application with a lot of records to show, I make pages so I can easily navigate
through the database and make the page look good and load quickly.

This can be done very easily. Shall we start?

Take a look at these next lines of code:

If Request.QueryString("Page") = "" Then
    Page = 1
  Else
    Page = Request.QueryString("Page")
  End If

  recordsToShow = 20
  n = 0



These lines of code are saying if the value of Request.QueryString("Page") is without any value then page
=1 else page gets the page the user requested. Recordstoshow is the number of lines in each page.
N is number of records PRinted.

Now lets put it into action:
objrs.PageSize = recordsToShow



(objrs is ADODB.Recordset Object)



In pagesize we are telling the record set that every page will have 20 records because recordstoshow is 20.

Now let’s pull out some records:

Do until objrs.EOF
if n = recordsToShow then
exit do
end if
write what that you want here
n=n+1
loop



Now we are writing date for the database and every time that we are repeating the loop we check if we done
it 20 times some when it’s 20 we will stop the loop.

Now let’s write the navigation:

if Page <> 1 then
Response.Write "<a href=pagename.asp?currentPage=" & currentPage - 1 &">"
end if
Response.Write "<< Back "

  if Page <> 1 then
  Response.Write "</a>"
  end if

'-------------------------
 For intCount = 1 to objRs.PageCount
  
  If intCount = 1 then
   Response.Write " | "
  End If
  
  If cint(intCount) = cint(Page) then
   Response.Write "<font color=darkblue><b>" & intCount & "</b></font> | "
  Else
Response.Write "<a hr ef=pagename.asp?currentPage=" & intCount & """>" & intCount & "</a> | "
  End If
  
Next
'-------------------------
if cint(page) = cint(objRs.PageCount) then
Response.Write "<a href=pagename.asp?currentPage=" & currentPage + 1 & ">"
end if
Response.Write " Next >> "
if cint(Page) = cint(objRs.PageCount) then
Response.Write "</a>"
end if



First we are checking if the current page is not 1 so it’s more then one so we can go back.

After this we need to write all of the pages in the record set.
Now we need to check if we can do next.

That is all! Yes it’s that easy!

Tags:RecordSet 实现 by

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接