分页实例
一个简单的分页,虽然不是新技术,但对于新手,可以参考一下。。
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
这是一个公司库的分页存储过程,方法比较简单,有个致命的缺陷就是,如果数据有百万条,因为它要新建一个临时表,所以数据很大的话,不适合使用,这个方法属于一般应用!看官可以试着泛改一下,以适合自己需求

浙公网安备 33010602011771号