set @SortDirection = '>=' if charindex('desc', @OrderBy) > 0 set @SortDirection = '<=' set @SQL2 = @SQL2 + ' declare @Sort varchar(100)' --声明一个变量,用来记录当前页第一条记录的排序字段值 set @SQL2 = @SQL2 + ' set rowcount @StartRow' --设置返回记录数截止到当前页的第一条 set @SQL2 = @SQL2 + ' select @Sort=' + @PK + ' from ' + @Tables + @Where + ' order by ' + @OrderBy --获取当前页第一个排序字段值 set @SQL2 = @SQL2 + ' set rowcount ' + convert(varchar, @PageSize) --设置返回记录数为页大小 set @Where = @Where + ' and ' + @PK + @SortDirection + '@Sort' set @SQL2 = @SQL2 + ' select ' + @Fields + ' from ' + @Tables + @Where + ' order by ' + @OrderBy --输出最终显示结果 end else begin --**************************************************************************** --*************需要创建自增长主键****************************************** --**************************************************************************** set @SQL2 = @SQL2 + ' declare @EndRow int' set @SQL2 = @SQL2 + ' set @EndRow=@PageIndex*' + convert(varchar, @PageSize) set @SQL2 = @SQL2 + ' set rowcount @EndRow' set @SQL2 = @SQL2 + ' declare @PKBegin int' --声明一个变量,开始索引 set @SQL2 = @SQL2 + ' declare @PKEnd int' --声明一个变量,结束索引 set @SQL2 = @SQL2 + ' set @PKBegin=@StartRow' set @SQL2 = @SQL2 + ' set @PKEnd=@EndRow' --**************************************************************************** --************对特殊字段进行转换,以便可以插入到临时表****************** --**************************************************************************** declare @TempFields varchar(500) set @TempFields=@Fields set @TempFields = replace(@TempFields, ''''' as CheckBox', '') set @TempFields = replace(@TempFields, ''''' as DetailButton', '') set @TempFields = replace(@TempFields, ''''' as Radio', '') set @TempFields = LTRIM(RTRIM(@TempFields))
上一篇:使用脚本控制网页Table的显示隐藏(全代码)
下一篇:几个C#编程的小技巧
|