dead_lee:
SQL Server2003好像支持,以前的SQL Server版本不是有个通用正排反排的做法么
[阅读: 685] 2006-08-01 03:03:35
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