ASP构造大数据量的分页SQL语句
1 <%@Language = "VBScript" Codepage = "936"%>
<%@Language = "VBScript" Codepage = "936"%>
2 <%
<%
3 '分页sql语句生成代码
'分页sql语句生成代码
4 Function GetPageSql(TblName,FldName,PageSize,PageIndex,OrderType,StrWhere)
Function GetPageSql(TblName,FldName,PageSize,PageIndex,OrderType,StrWhere)
5 Dim StrTemp,StrSql,StrOrder
    Dim StrTemp,StrSql,StrOrder
6 '根据排序方式生成相关代码
    '根据排序方式生成相关代码
7 If OrderType = 0 Then
    If OrderType = 0 Then
8 StrTemp = "> (Select Max([" & FldName & "])"
        StrTemp = "> (Select Max([" & FldName & "])"
9 StrOrder = " Order By [" & FldName & "] Asc"
        StrOrder = " Order By [" & FldName & "] Asc"
10 Else
    Else
11 StrTemp = "< (Select Min([" & FldName & "])"
        StrTemp = "< (Select Min([" & FldName & "])"
12 StrOrder = " Order By [" & FldName & "] Desc"
        StrOrder = " Order By [" & FldName & "] Desc"
13 End If
    End If
14 
    
15 '若是第1页则无须复杂的语句
    '若是第1页则无须复杂的语句
16 If PageIndex = 1 Then
    If PageIndex = 1 Then
17 StrTemp = ""
        StrTemp = ""
18 If StrWhere <> "" Then
        If StrWhere <> "" Then
19 Strtmp = " Where " & StrWhere
            Strtmp = " Where " & StrWhere
20 End If
        End If
21 StrSql = "Select Top " & PageSize & " * From [" & TblName & "]" & Strtmp & StrOrder
        StrSql = "Select Top " & PageSize & " * From [" & TblName & "]" & Strtmp & StrOrder
22 Else        '若不是第1页,构造sql语句
    Else        '若不是第1页,构造sql语句
23 StrSql = "Select Top " & PageSize & " * From [" & TblName & "] Where [" & FldName & "]" & StrTemp & _
        StrSql = "Select Top " & PageSize & " * From [" & TblName & "] Where [" & FldName & "]" & StrTemp & _
24 " From (Select Top " & (PageIndex-1) * PageSize & " [" & FldName & "] From [" & TblName & "]"
        " From (Select Top " & (PageIndex-1) * PageSize & " [" & FldName & "] From [" & TblName & "]" 
25 If StrWhere <> "" Then
        If StrWhere <> "" Then
26 StrSql = StrSql & " Where " & StrWhere
            StrSql = StrSql & " Where " & StrWhere
27 End If
        End If
28 StrSql = StrSql & StrOrder & ") As Tbltemp)"
        StrSql = StrSql & StrOrder & ") As Tbltemp)"
29 If StrWhere <> "" Then
        If StrWhere <> "" Then
30 StrSql = StrSql & " And " & StrWhere
            StrSql = StrSql & " And " & StrWhere
31 End If
        End If
32 StrSql = StrSql & StrOrder
        StrSql = StrSql & StrOrder
33 End If
    End If
34 GetPageSql = StrSql        '返回sql语句
    GetPageSql = StrSql        '返回sql语句
35 End Function
End Function
36 Response.Write(GetPageSql("Message","MessageID",10,1,0,""))
Response.Write(GetPageSql("Message","MessageID",10,1,0,""))
37 %>
%>
 <%@Language = "VBScript" Codepage = "936"%>
<%@Language = "VBScript" Codepage = "936"%>2
 <%
<%3
 '分页sql语句生成代码
'分页sql语句生成代码4
 Function GetPageSql(TblName,FldName,PageSize,PageIndex,OrderType,StrWhere)
Function GetPageSql(TblName,FldName,PageSize,PageIndex,OrderType,StrWhere)5
 Dim StrTemp,StrSql,StrOrder
    Dim StrTemp,StrSql,StrOrder6
 '根据排序方式生成相关代码
    '根据排序方式生成相关代码7
 If OrderType = 0 Then
    If OrderType = 0 Then8
 StrTemp = "> (Select Max([" & FldName & "])"
        StrTemp = "> (Select Max([" & FldName & "])"9
 StrOrder = " Order By [" & FldName & "] Asc"
        StrOrder = " Order By [" & FldName & "] Asc"10
 Else
    Else11
 StrTemp = "< (Select Min([" & FldName & "])"
        StrTemp = "< (Select Min([" & FldName & "])"12
 StrOrder = " Order By [" & FldName & "] Desc"
        StrOrder = " Order By [" & FldName & "] Desc"13
 End If
    End If14
 
    15
 '若是第1页则无须复杂的语句
    '若是第1页则无须复杂的语句16
 If PageIndex = 1 Then
    If PageIndex = 1 Then17
 StrTemp = ""
        StrTemp = ""18
 If StrWhere <> "" Then
        If StrWhere <> "" Then19
 Strtmp = " Where " & StrWhere
            Strtmp = " Where " & StrWhere20
 End If
        End If21
 StrSql = "Select Top " & PageSize & " * From [" & TblName & "]" & Strtmp & StrOrder
        StrSql = "Select Top " & PageSize & " * From [" & TblName & "]" & Strtmp & StrOrder22
 Else        '若不是第1页,构造sql语句
    Else        '若不是第1页,构造sql语句23
 StrSql = "Select Top " & PageSize & " * From [" & TblName & "] Where [" & FldName & "]" & StrTemp & _
        StrSql = "Select Top " & PageSize & " * From [" & TblName & "] Where [" & FldName & "]" & StrTemp & _24
 " From (Select Top " & (PageIndex-1) * PageSize & " [" & FldName & "] From [" & TblName & "]"
        " From (Select Top " & (PageIndex-1) * PageSize & " [" & FldName & "] From [" & TblName & "]" 25
 If StrWhere <> "" Then
        If StrWhere <> "" Then26
 StrSql = StrSql & " Where " & StrWhere
            StrSql = StrSql & " Where " & StrWhere27
 End If
        End If28
 StrSql = StrSql & StrOrder & ") As Tbltemp)"
        StrSql = StrSql & StrOrder & ") As Tbltemp)"29
 If StrWhere <> "" Then
        If StrWhere <> "" Then30
 StrSql = StrSql & " And " & StrWhere
            StrSql = StrSql & " And " & StrWhere31
 End If
        End If32
 StrSql = StrSql & StrOrder
        StrSql = StrSql & StrOrder33
 End If
    End If34
 GetPageSql = StrSql        '返回sql语句
    GetPageSql = StrSql        '返回sql语句35
 End Function
End Function36
 Response.Write(GetPageSql("Message","MessageID",10,1,0,""))
Response.Write(GetPageSql("Message","MessageID",10,1,0,""))37
 %>
%>
 
                     
                    
                 
                    
                 
 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号