ASP构造大数据量的分页SQL语句

王朝asp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

1

<%@Language = "VBScript" Codepage = "936"%>

2

<%

3

'分页sql语句生成代码

4

Function GetPageSql(TblName,FldName,PageSize,PageIndex,OrderType,StrWhere)

5

Dim StrTemp,StrSql,StrOrder

6

'根据排序方式生成相关代码

7

If OrderType = 0 Then

8

StrTemp = "> (Select Max([" & FldName & "])"

9

StrOrder = " Order By [" & FldName & "] Asc"

10

Else

11

StrTemp = "< (Select Min([" & FldName & "])"

12

StrOrder = " Order By [" & FldName & "] Desc"

13

End If

14

15

'若是第1页则无须复杂的语句

16

If PageIndex = 1 Then

17

StrTemp = ""

18

If StrWhere <> "" Then

19

Strtmp = " Where " & StrWhere

20

End If

21

StrSql = "Select Top " & PageSize & " * From [" & TblName & "]" & Strtmp & StrOrder

22

Else '若不是第1页,构造sql语句

23

StrSql = "Select Top " & PageSize & " * From [" & TblName & "] Where [" & FldName & "]" & StrTemp & _

24

" From (Select Top " & (PageIndex-1) * PageSize & " [" & FldName & "] From [" & TblName & "]"

25

If StrWhere <> "" Then

26

StrSql = StrSql & " Where " & StrWhere

27

End If

28

StrSql = StrSql & StrOrder & ") As Tbltemp)"

29

If StrWhere <> "" Then

30

StrSql = StrSql & " And " & StrWhere

31

End If

32

StrSql = StrSql & StrOrder

33

End If

34

GetPageSql = StrSql '返回sql语句

35

End Function

36

Response.Write(GetPageSql("Message","MessageID",10,1,0,""))

37

%>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航