什么都不做,就是查询数据,一页显示多少条就查询多少条数据出来。这样的速度应该是很快的了吧?哈哈。。思路就是,给ID值出来,使用此ID值做下一页或上一页的查询条件,并且还要排序!!在这里查询结果排序也起了很重要的作用!!!!
示例代码如下:
"http://www.w3.org/TR/html4/loose.dtd">
无标题文档
序号
电影名称
电影URL地址
类型
[首页] ASP?aFlag=Pre&sID=">[上一页] ASP?aFlag=Nex&sID=">[下一页] [尾页]
<%
Call CloseDatabase
Sub Show_List
Dim LastFlag,NowFlag
Dim ArrayRow
aFlag=Request("aFlag")
NowID=Request("sID")
Select Case aFlag
Case "Nex"
If NowID"" Then
Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Where ID>"&NowId&" Order By ID Asc"
Else
Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Order By ID Desc"
End If
Case "Pre"
If NowID"" Then
Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Where ID<"&NowId&" Order By ID Desc"
Else
Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie]"
End If
Case "End"
Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie] Order By ID Desc"
Case Else
Sql="Select Top "&iShowNum&" Id,Name,Url,Type From [Movie]"
End Select
Set Rs=Conn.Execute(Sql)
LastFlag=False
NowFlag=False
If Rs.Eof Then
Rs.Close
Set Rs=Nothing
Exit Sub
End If
'获取数据到一个二维数组
ArrayRow=Rs.GetRows()
Dim iFrom,iTo,iStep
If aFlag="Pre" Or aFlag="End" Then
iFrom=Ubound(ArrayRow,2)
iTo=0
iStep=-1
Else
iFrom=0
iTo=Ubound(ArrayRow,2)
iStep=1
End If
NowID=ArrayRow(0,iFrom)
LastID=ArrayRow(0,iTo)
For i=iFrom To iTo Step iStep
Response.Write " "
Response.Write "
"&ArrayRow(0,i)&""
Response.Write " "&ArrayRow(1,i)&""
Response.Write " "&ArrayRow(2,i)&""
Response.Write " "&ArrayRow(3,i)&""
Response.Write " "
Next
Rs.Close
Set Rs=Nothing
End Sub
%>

