中国开发网: 论坛: 程序员情感CBD: 贴子 368292
dead_lee: SQL Server2003好像支持,以前的SQL Server版本不是有个通用正排反排的做法么
Public Function GetPageSql(ByVal pageNum As Integer) As String
Dim startIndex As Integer
startIndex = RecordCount - (pageNum - 1) * PageSize
Dim pageSql As New StringBuilder

If pageNum = 1 Then
pageSql.Append("Select Top " + CStr(PageSize) + " " + _fieldCause + " From " + _tableName)
pageSql.Append(" " + _conditionStr)
pageSql.Append(" Order By ")
pageSql.Append(_orderByFieldStr)
'pageSql.Append(" " + _directionStr)
Else
pageSql.Append("Select Top " + CStr(PageSize) + " " + _fieldCause + " From ")
pageSql.Append("(Select Top " + CStr(startIndex) + " * From " + _tableName)
pageSql.Append(" As a ")
pageSql.Append(_conditionStr)
pageSql.Append(" Order By ")
pageSql.Append(_reverseOrderByFieldStr)
pageSql.Append(") As b ")
'pageSql.Append(" " + _directionReverseStr + ") As b ")
pageSql.Append("Order By ")
pageSql.Append(_orderByFieldStr)
'pageSql.Append(" " + _directionStr)
End If
Return pageSql.ToString
End Function

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录