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

本文转自: http://hi.baidu.com/gotodbz/blog/item/b8777e1684ad681c972b43c4.html

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 %>

转载于:https://www.cnblogs.com/feima-lxl/archive/2008/03/30/1129457.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值