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 [‘[email protected]+‘] asc‘

    end

  else

     begin

      set @strOrder=‘ order by [‘[email protected]+‘] desc‘

    end

 end

 else

begin

  set @strOrder=‘ ‘

end

--是否求记录数

if(@IsReCount!=0)

  begin

  --是否有条件

    if(@strWhere!=‘‘)

      begin

         set @strTmp=‘select Count(1) from [‘[email protected]+‘] where 1=1 ‘+
@strWhere

      end

else

  set @strTmp=‘select Count(1) from [‘[email protected]+‘] where 1=1 ‘

end

else

  --求第10到第20条数据

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

    begin

      set @strSQl=‘Select top ‘+str(@PageSize)+‘ * from [‘[email protected]+‘] where
[‘

        [email protected]+‘] not in (select top
‘+str((@PageIndex-1)*@PageSize)+‘ [‘

        [email protected]+‘] from
[‘[email protected]+‘] where 1=1 ‘

        + @[email protected]+‘) ‘[email protected][email protected]+‘;‘

end

else

  begin

    set @strSQl = @strTmp

  end

print (@strSQL)

execute(@strSQL)

C#存储过程分页,布布扣,bubuko.com

时间: 2024-12-24 06:56:19

C#存储过程分页的相关文章

EntityFramework 4使用存储过程分页

1 CREATE PROC usp_OrgPage_SQL 2 @pageIndex INT, 3 @pageSize INT, 4 @totalCount INT OUTPUT 5 AS 6 BEGIN 7 SET @totalCount = (SELECT COUNT(*) FROM dbo.Organization) 8 SELECT * FROM 9 ( 10 SELECT *,ROW_NUMBER() OVER(ORDER BY OrganizationID DESC)AS row F

sql 高性能存储过程分页

USE [Lyjjr] GO /****** Object: StoredProcedure [dbo].[P_ViewPage] Script Date: 05/29/2015 17:18:56 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROC [dbo].[P_ViewPage] @TableName VARCHAR(200), --表名 @FieldList VARCHAR(2000), --显示列名,如

存储过程分页 Ado.Net分页 EF分页 满足90%以上

存储过程分页: 1 create proc PR_PagerDataByTop 2 @pageIndex int, 3 @pageSize int, 4 @count int out 5 as 6 select top(@pageSize) * from dbo.userInfo where ID not in 7 ( 8 select top((@pageIndex-1)*@pageSize) ID from dbo.userInfo 9 ) 10 set @count = (select C

SQL 存储过程 分页

set ANSI_NULLS ON set QUOTED_IDENTIFIER ON go -- ============================================= -- Author: *** -- Create date: 2014-03-27 20:00 -- Description: 采用最新的 row_number() over 技术高效分页方法 -- ============================================= ALTER PRO

Oracle ——存储过程——分页

输入:表名.每页显示的记录数.当前页输出:总记录数.总页数.结果集--首先,创建一个包,定义游标类型CREATE OR REPLACE PACKAGE fenye_package ISTYPE fenye_cursor IS REF CURSOR;END fenye_package; --输入:表名.每页显示的记录数.当前页--输出:总记录数.总页数.结果集CREATE OR REPLACE PROCEDURE sp_fenye(tableName   IN VARCHAR2,--表名称 max

我的日记本程序日记列表存储过程分页(2)改进正式可用

我的日记本程序日记列表存储过程分页 --drop proc procDiary create proc procDiary --获取日记列表的分页存储过程 @pageSize int =12, -- @pageIndex int=1, --页码序号 @totalCount int output, --总记录数 @diaryWhere varchar(255) as declare @strSql varchar(500); set @totalCount =CONVERT(int,(select

sql server存储过程分页,行变列

CREATE PROCEDURE [dbo].[PROC_GetPriviousAndNextDetailContent]@Index varchar(20),--表主键@Table varchar(100),--从哪个表获取数据@Columns varchar(100),--需要获取哪些字段@OrderStr varchar(100),--排序字段及方式@Where1    varchar(100),--row_number中的初步过滤条件@Where2 varchar(100)--当前要查询

asp.net利用存储过程分页代码

-最通用的分页存储过程 -- 获取指定页的数据 CREATE PROCEDURE Pagination @tblName varchar(255), -- 表名 @strGetFields varchar(1000) = '*', -- 需要返回的列 @fldName varchar(255)='', -- 排序的字段名 @PageSize int = 10, -- 页尺寸 @PageIndex int = 1, -- 页码 @doCount bit = 0, -- 返回记录总数, 非 0 值则

【原创】10万条数据采用存储过程分页实现(Mvc+Dapper+存储过程)

有时候大数据量进行查询操作的时候,查询速度很大强度上可以影响用户体验,因此自己简单写了一个demo,简单总结记录一下: 技术:Mvc4+Dapper+Dapper扩展+Sqlserver 目前主要实现了两种分页:一种采用 PagedList.Mvc 实现的分页 两外一种采用 ajax异步加载分页 采用比较常用的jquery.pagination 分页插件. 功能相对比较简单仅供学习交流. 通用存储过程 1 USE [MvcProcPageDB] 2 GO 3 4 /****** Object: