支持多表分页查询的存储过程

本文转载:http://hi.baidu.com/hanrenjun/item/caa393dc811efbdd251f40ad

              http://www.bhcode.net/article/20081229/3796.html

同样不错的博客:http://blog.csdn.net/lyq5655779/article/details/7328560#

 

usp_PagingLarge测试脚本:

USE [Northwind]
GO

--SQL语句
SELECT  Orders.OrderID ,
        Products.ProductName AS 'Name'
FROM    dbo.Orders INNER JOIN dbo.[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN dbo.Products ON [Order Details].ProductID = Products.ProductID
ORDER BY Orders.OrderID desc,
        Products.ProductName  asc    

/*

  AAAA   AAAA   AAAA   AAAA  RRRRR   GGGG  HH  HH  ######
 AA  AA AA  AA AA  AA AA  AA RR  RR GG  GG HH  HH  ######
 AA  AA AA  AA AA  AA AA  AA RR  RR GG     HH  HH   ####
 AAAAAA AAAAAA AAAAAA AAAAAA RRRRR  GG GGG HHHHHH    ##
 AA  AA AA  AA AA  AA AA  AA RR  RR GG  GG HH  HH
 AA  AA AA  AA AA  AA AA  AA RR  RR  GGG G HH  HH    ##

*/

DECLARE	@return_value int

EXEC	@return_value = [dbo].[usp_PagingLarge]
		@TableNames = N'dbo.Orders INNER JOIN dbo.[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN dbo.Products ON [Order Details].ProductID = Products.ProductID',
		@PrimaryKey = N'Orders.OrderID',
		@Fields = N'Orders.OrderID ,Products.ProductName as Name',
		@PageSize = 20,
		@CurrentPage = 2,
		@Filter = NULL,
		@Group = NULL,
		@Order = N'Orders.OrderID desc,Products.ProductName  asc'

GO

  

proc_ListPage测试脚本:

USE [Northwind]
GO

--SQL语句
SELECT  Orders.OrderID ,
        Products.ProductName
FROM    dbo.Orders INNER JOIN dbo.[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN dbo.Products ON [Order Details].ProductID = Products.ProductID
ORDER BY Orders.OrderID desc,
        Products.ProductName  asc      

/*

  AAAA   AAAA   AAAA   AAAA  RRRRR   GGGG  HH  HH  ######
 AA  AA AA  AA AA  AA AA  AA RR  RR GG  GG HH  HH  ######
 AA  AA AA  AA AA  AA AA  AA RR  RR GG     HH  HH   ####
 AAAAAA AAAAAA AAAAAA AAAAAA RRRRR  GG GGG HHHHHH    ##
 AA  AA AA  AA AA  AA AA  AA RR  RR GG  GG HH  HH
 AA  AA AA  AA AA  AA AA  AA RR  RR  GGG G HH  HH    ##

*/

DECLARE	@return_value int,
		@pageCount int,
		@Counts int

EXEC	@return_value = [dbo].[proc_ListPage]
		@tblName = N'dbo.Orders INNER JOIN dbo.[Order Details] ON Orders.OrderID = [Order Details].OrderID INNER JOIN dbo.Products ON [Order Details].ProductID = Products.ProductID',
		@fldName = N'[orders].orderID,Products.ProductName',
		@pageSize = 20,
		@page = 2,
		@pageCount = @pageCount OUTPUT,
		@Counts = @Counts OUTPUT,
		@fldSort = N'[orders].orderID desc,Products.ProductName',
		@Sort = 0,--如果@fldSort字段为NULL,则@Sort也为null。
		@strCondition = NULL,
		@ID = N'Orders.OrderID',
		@Dist = 0

SELECT	@pageCount as N'@pageCount',
		@Counts as N'@Counts'

GO

  

 


  • 比较麻烦,把他记录下来。
    前台UI:

本文转载:http://www.cnblogs.com/xiachufeng/archive/2010/07/30/1788592.html

时间: 2024-09-22 18:11:38

支持多表分页查询的存储过程的相关文章

MSSQL分页存储过程完整示例(支持多表分页存储)_MsSql

本文实例讲述了MSSQL分页存储过程.分享给大家供大家参考,具体如下: USE [DB_Common] GO /****** 对象: StoredProcedure [dbo].[Com_Pagination] 脚本日期: 03/09/2012 23:46:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /************************************************************

MSSQL分页存储过程完整示例(支持多表分页存储)

本文实例讲述了MSSQL分页存储过程.分享给大家供大家参考,具体如下: USE [DB_Common] GO /****** 对象: StoredProcedure [dbo].[Com_Pagination] 脚本日期: 03/09/2012 23:46:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO /************************************************************

SQL Server 分页查询通用存储过程(只做分页查询用)_MsSql

自开始做项目以来,一直在用.这段存储过程的的原创者(SORRY,忘记名字了),写得这段SQL代码很不错,我在这个基础上,按照我的习惯以及思维方式,调整了代码,只做分页查询用. /*---------------------------------------------- *procedure name : P_PageResult * author :Fay * create date : 2014-07-18 */ CREATE PROCEDURE prcPageResult -- 获得某一

SQL Server 分页查询通用存储过程(只做分页查询用)

自开始做项目以来,一直在用.这段存储过程的的原创者(SORRY,忘记名字了),写得这段SQL代码很不错,我在这个基础上,按照我的习惯以及思维方式,调整了代码,只做分页查询用. /*---------------------------------------------- *procedure name : P_PageResult * author :Fay * create date : 2014-07-18 */ CREATE PROCEDURE prcPageResult -- 获得某一

三种SQL分页查询的存储过程代码

复制代码 代码如下: --根据MAX(MIN)ID CREATE PROC [dbo].[proc_select_id] @pageindex int=1,--当前页数 @pagesize int=10,--每页大小 @tablename VARCHAR(50)='',--表名 @fields VARCHAR(1000)='',--查询的字段集合 @keyid VARCHAR(50)='',--主键 @condition NVARCHAR(1000)='',--查询条件 @orderstr VA

Mysql分页查询通用存储过程 - 阿影的黄金时代 - 博客频道 - CSDN.NET

来源:http://blog.csdn.net/fcrpg2005/article/details/1522713#1536434-hi-1-63006-42d97150898b1af15ddaae52f91f09c2

sql分页查询几种写法_MsSql

关于SQL语句分页,网上也有很多,我贴一部分过来,并且总结自己已知的分页到下面,方便日后查阅 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTest use DBTest --创建测试表 create table pagetest ( id int identity(1,1) not null, col01 int null, col02 nvarchar(50) null, col03 datetime null ) --1万记录集 declar

sql分页查询几种写法

关于SQL语句分页,网上也有很多,我贴一部分过来,并且总结自己已知的分页到下面,方便日后查阅 1.创建测试环境,(插入100万条数据大概耗时5分钟). create database DBTest use DBTest --创建测试表 create table pagetest ( id int identity(1,1) not null, col01 int null, col02 nvarchar(50) null, col03 datetime null ) --1万记录集 declar

SharePoint 2013 列表多表联合查询

在SharePoint的企业应用中,遇到复杂的逻辑的时候,我们会需要多表查询:SharePoint和Sql数据表一样,也支持多表联合查询,但是不像Sql语句那样简单,需要使用SPQuery的Joins属性来完成. 下面,我们通过一个简单的例子,为大家演示一下如何使用SPQuery通过查阅项字段来进行两个列表的联合查询. 1.首先创建测试列表,City是城市,然后有一个列表叫做Address,是地址,通过查阅项Location进行关联,CityID字段是Number类型,这里代表城市的ID号: 创