none
下面的存储过程分页如何调用呢,怎么得到数据源? RRS feed

  • 问题

  • CREATE PROCEDURE GetProducts
     2
     3(@DescriptionLength INT,           --定义参数:描述长度
     4
     5@PageNumber INT,                --页码
     6
     7@ProductsPerPage INT,             --每页产品数 
     8
     9@HowManyProducts INT OUTPUT)  --产品总数
    10
    11AS
    12
    13-- 定义一个Table变量
    14
    15DECLARE @Products TABLE
    16
    17(RowNumber INT,
    18
    19 ProductID INT
    20
    21 Name VARCHAR(50), 
    22
    23 Description VARCHAR(5000)
    24
    25Price MONEY)
    26
    27-- 把数据读到刚定义的@Products 中
    28
    29INSERT INTO @Products    
    30
    31SELECT ROW_NUMBER() OVER (ORDER BY Product.ProductID), 
    32
    33       ProductID, Name, 
    34
    35       SUBSTRING(Description, 1@DescriptionLength+ '' AS Description, Price,
    36
    37FROM Product 
    38
    39-- 返回产品数
    40
    41SELECT @HowManyProducts = COUNT(ProductID) FROM @Products
    42
    43-- 返回请求页面的数据
    44
    45SELECT ProductID, Name, Description, Price
    46
    47FROM @Products
    48
    49WHERE RowNumber > (@PageNumber - 1* @ProductsPerPage 
    50
    51  AND RowNumber <= @PageNumber * @ProductsPerPage

    efforts..
    2010年2月1日 7:17

答案