分頁|資料|語句 看了鐵拳的預存程序“實現千萬級資料的分頁顯示!”,覺得不錯,我給改成了ASP代碼了。
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
'分頁SQL語句產生代碼
Function GetPageSQL(tblName,fldName,PageSize,PageIndex,OrderType,strWhere)
Dim strTemp,strSQL,strOrder
'根據排序方式產生相關代碼
if OrderType=0 then
strTemp=">(select max([" & fldName & "])"
strOrder=" order by [" & fldName & "] asc"
else
strTemp="<(select min([" & fldName & "])"
strOrder=" order by [" & fldName & "] desc"
end if
'若是第1頁則無須複雜的語句
if PageIndex=1 then
strTemp=""
if strWhere<>"" then
strTmp = " where " + strWhere
end if
strSQL = "select top " & PageSize & " * from [" & tblName & "]" & strTmp & strOrder
else '若不是第1頁,構造SQL語句
strSQL="select top " & PageSize & " * from [" & tblName & "] where [" & fldName & "]" & strTemp & _
" from (select top " & (PageIndex-1)*PageSize & " [" & fldName & "] from [" & tblName & "]"
if strWhere<>"" then
strSQL=strSQL & " where " & strWhere
end if
strSQL=strSQL & strOrder & ") as tblTemp)"
if strWhere<>"" then
strSQL=strSQL & " And " & strWhere
end if
strSQL=strSQL & strOrder
end if
GetPageSQL=strSQL '返回SQL語句
End Function
response.write(GetPageSQL("message","messageid",10,1,0,""))
%>