分页实例

一个简单的分页,虽然不是新技术,但对于新手,可以参考一下。。
    

ALTER PROCEDURE [dbo].[compgetcompany]
 -- Add the parameters for the stored procedure here
 @DescriptionLength INT ,   ----定义参数:描述长度
    @PageNumber INT,            --------页码
    @companysPerPage INT ,       ------每页公司数
    @HowManyCompanys INT OUTPUT   --------公司总数
   
AS
BEGIN

 -- SET NOCOUNT ON added to prevent extra result sets from
 -- interfering with SELECT statements.
 SET NOCOUNT ON;
 DECLARE @companys TABLE
 (
    RowNumber INT,
    u_name nvarchar(20),
    corpname nvarchar(100),
    corpmode nvarchar(20),
    bizaddr nvarchar(100),
    viewhits  int ,
    mainproduct nvarchar(200),
   tel nvarchar(30),
    fax nvarchar(15),
     Des  nvarchar(600)
   
  )
 INSERT INTO @companys
  SELECT ROW_NUMBER() OVER (ORDER BY company.corpID),
        u_name,corpname,corpmode,bizaddr,viewhits,mainproduct,tel,fax,
          SUBSTRING(DES ,1,@DescriptionLength)+'......' as Des
         from company
   select @HowManyCompanys=count(corpname) from @companys
   select u_name,corpname,corpmode,bizaddr,viewhits,mainproduct,tel,fax,des
      from @companys
    where RowNumber > (@PageNumber -1)* @companysPerPage
         and RowNumber <= @PageNumber * @companysPerPage
 


   
END
                            这是一个公司库的分页存储过程,方法比较简单,有个致命的缺陷就是,如果数据有百万条,因为它要新建一个临时表,所以数据很大的话,不适合使用,这个方法属于一般应用!看官可以试着泛改一下,以适合自己需求

posted @ 2007-01-22 14:21  上海-天浩  阅读(176)  评论(0)    收藏  举报

Living in ShangHai

Copyright © 2008 天浩阁 Corporation, All Rights Reserved