话不多说,请看代码

------------------------------------------作者:张欣宇-----时间:2013-06-28-----简介:根据参数和条件分页查询-------------------------------------Create proc [dbo].[Up_PagingQueryByParameter]( ----- 表名或能查询到结果的SQL语句{SQL语句左右必须有括号例:(select * from tbl1)} @TableName varchar(max), ----- 要查询的列名语句; 可空默认* @ColumnName varchar(5000), ----- 用来排序的列; 不可为空 @OrderByColumnName varchar(50), ----- 排序desc(倒序5.4.3.2.1)或asc(正序1.2.3.4.5); 可空默认asc @ShrtBy varchar(4), ----- Where条件; 可空默认1=1 @Where varchar(5000), ----- 每页显示数; 可空默认20 @PageShows int, ----- 当前页数; 可空默认1 @CurrentPage int, ----- 0为分页查询;其他为查询全部; 可空默认0 @IsPaging int)asbegin ----- 参数检查及规范 if isnull(@Where,N'')=N'' set @Where = N'1=1'; if isnull(@ColumnName,N'')=N'' set @ColumnName = N'*'; if isnull(@PageShows,0)<1 set @PageShows = 20; if isnull(@CurrentPage,0)<1 set @CurrentPage = 1; if isnull(@ShrtBy,N'')=N'' set @ShrtBy = 'asc'; if isnull(@IsPaging,0)<>1 set @IsPaging = 0; ----- 定义 -- 拼接的SQL语句 declare @SqlStr nvarchar(max); declare @SqlWithStr nvarchar(max); -- 开始条数 declare @StartIndex int; -- 结束条数 declare @EndIndex int; ----- 赋值 set @StartIndex = (@CurrentPage-1)*@PageShows+1; print(@CurrentPage); print(@PageShows); print(@StartIndex); set @EndIndex = @CurrentPage*@PageShows; print(@EndIndex); set @OrderByColumnName=@OrderByColumnName+' '+@ShrtBy; ----- 分页查询 set @SqlWithStr = N'with temp as(select ROW_NUMBER() over(order by '+@OrderByColumnName+N') as RowNumber,'+@ColumnName+N' from '+@TableName+N' as tableName where '+@Where+N')'; if(@IsPaging = 0) begin set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp where temp.RowNumber between '+convert(nvarchar(20),@StartIndex)+N' and '+convert(nvarchar(20),@EndIndex)+N''; ---- print(@SqlStr); exec(@SqlStr); ----- 总数查询 set @SqlStr = @SqlWithStr + N' select count(*) as TotalNumber from temp'; ---- print(@SqlStr); exec(@SqlStr); end else begin set @SqlStr = @SqlWithStr + N' select '+@ColumnName+N' from temp'; ---- print(@SqlStr); exec(@SqlStr); endend

更多相关文章

  1. android分页查询获取系统联系人信息
  2. Android入门教程(三十一)------SQLite分页读取
  3. android ListView的分段显示、分页显示(附源码)
  4. android左右滑动加载分页以及动态加载数据
  5. Android(安卓)listview怎么实现滚动分页
  6. Android(安卓)ListView专题之十二 分页不同的解决方案
  7. Android分页控件xlistview
  8. android中滑动SQLite数据库分页加载
  9. Android(安卓)分页组件

随机推荐

  1. android interview questions
  2. Android sharedUserId
  3. Android:Android官方培训课程中文版(v0.9
  4. Android(安卓)ListView的每个子Item如何
  5. android找不到图片资源
  6. android 操作sqlite数据库
  7. RelativeLayout 用法以及举例
  8. [Android官方API阅读]___
  9. 在 Android(安卓)上使用协程(二):Getting st
  10. android viewTree and decorView