富贵资源网 Design By www.hznty.com
话不多说,请看代码
------------------------------------- -----作者:张欣宇 -----时间: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 ) as begin ----- 参数检查及规范 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); end end
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。