• C#存储过程分页


    SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO

    CREATE  PROCEDURE [dbo].[UP_GetRecordByPage]

        @tblName      varchar(255),       -- 表名  

        @fldName      varchar(255),       -- 主键字段名

          @OrderfldName   varchar(255)='',   -- 排序字段  

        @PageSize     int = 10,           -- 页大小  

        @PageIndex    int = 1,            -- 页码  

        @OrderType    bit = 0,            -- 设置排序类型, 非值则降序(0为desc降序 1为asc升序)  

        @IsReCount    bit = 0,            -- 返回记录总数, 非值则返回(1为返回)  

        @strWhere     varchar(1000) = ''  -- 查询条件(注意: 不要加where)( and Price>2000)

    AS

    declare @strSQL   varchar(6000)       -- 主语句

    declare @strTmp   varchar(100)        -- 临时变量

    declare @strOrder varchar(400)        -- 排序类型

    --判断你是否提供了,排序字段

    if(@OrderfldName!='')

    begin  

      if(@OrderType!=0)  

        begin   

           --拼接字符串  

           set @strOrder=' order by ['+@OrderfldName+'] asc'  

        end

      else

         begin   

          set @strOrder=' order by ['+@OrderfldName+'] desc'  

        end

     end

     else

    begin  

      set @strOrder=' '

    end

    --是否求记录数

    if(@IsReCount!=0)

      begin  

      --是否有条件  

        if(@strWhere!='')  

          begin  

             set @strTmp='select Count(1) from ['+@tblName+'] where 1=1 '+ @strWhere  

          end  

    else   

      set @strTmp='select Count(1) from ['+@tblName+'] where 1=1 '

    end

    else  

      --求第10到第20条数据

       set @strTmp=' ' if(@IsReCount=0)

        begin

          set @strSQl='Select top '+str(@PageSize)+' * from ['+@tblName+'] where ['   

            +@fldName+'] not in (select top '+str((@PageIndex-1)*@PageSize)+' ['   

            +@fldName+'] from ['+@tblName+'] where 1=1 '   

            + @strWhere+@strOrder+') '+@strWhere+@strOrder+';'

    end

    else

      begin  

        set @strSQl = @strTmp

      end

    print (@strSQL)

    execute(@strSQL)

  • 相关阅读:
    linux系统判断内存是否达到瓶颈的小技巧
    利用tcpdump命令统计http的GET和POST请求
    tcpdump 基于mac地址抓取数据包
    使用liunx系统自带的工具sar监控指定接口速率
    Windows 环境搭建Redis集群
    Windows下RabbitMQ安装,部署,配置
    鼠标事件(二)
    鼠标事件(一)
    响应式web之媒体查询(一)
    UI事件之unload、resize和scroll
  • 原文地址:https://www.cnblogs.com/mulong/p/3716723.html
Copyright © 2020-2023  润新知