快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

实现分页的例子-使用存储过程来实现分页

这个 程序只能 达到 10 个 分页
if exists (select * from sysobjects where id = object_id(\\\'dbo.sp_productPage\\\') and sysstat & 0xf = 4)
drop procedure dbo.sp_productPage
GO

CREATE PROCEDURE sp_productPage
@intStart TINYINT=1,
@intEnd TINYINT=10
with ENCRYPTION
AS
Declare @strProductID VARCHAR(8),@strProductName VARCHAR(20),
@strSQL1 VARCHAR(100),
@strSQL2 VARCHAR(100),
@strSQL3 VARCHAR(100),
@strSQL4 VARCHAR(100),
@strSQL5 VARCHAR(100),
@strSQL6 VARCHAR(100),
@strSQL7 VARCHAR(100),
@strSQL8 VARCHAR(100),
@strSQL9 VARCHAR(100),
@strSQL10 VARCHAR(100),
@intCCount TINYINT,
@intCount TINYINT,
@i TINYINT
select @i=1
Declare cur_Product SCROLL CURSOR For
Select ProductID,ProductName from KF_Product order by ProductID
Select @intCCount=count(productId) From KF_Product
open cur_Product
Fetch ABSOLUTE @intStart From cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Select @intCount=@intStart
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL1=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount) +\\\' Union \\\'
End
else
Begin
Select @strSQL1=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL2=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL2=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL3=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL3=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL4=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL4=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL5=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL5=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL6=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL6=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL7=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL7=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL8=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL8=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL9=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)+\\\' Union \\\'
End
else
Begin
Select @strSQL9=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
Fetch cur_Product Into @strProductID,@strProductName
if @@FETCH_STATUS=0
Begin
Select @intCount=@intCount+1
Select @strSQL10=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
End
else
Begin
Select @strSQL10=\\\'Select productId=\\\'\\\'\\\' + @strProductID + \\\'\\\'\\\',productName=\\\'\\\'\\\' + @strProductName+ \\\'\\\'\\\',ProductCount=\\\' + convert(VARCHAR,@intcCount)+\\\',ProductSumCount=\\\'+ convert(VARCHAR,@intCCount)
Goto EndPro
End
EndPro:
close cur_Product
DEALLOCATE cur_Product
print @strSQL1
print @strSQL2
print @strSQL3
exec(@strSQL1 + @strSQL2+ @strSQL3+@strSQL4+@strSQL5+@strSQL6+@strSQL7+@strSQL8+@strSQL9+@strSQL10)
GO
存储 过程创建 成功后,就可以在ASP 中 做 如下 调用
strSQL="sp_productPage 1,10
rst.open strSQL,conn,3,1
就可以了
返回类别: 教程
上一教程: 如何不用数据源打开数据库
下一教程: 用ASP制作张扬个性的调查系统

您可以阅读与"实现分页的例子-使用存储过程来实现分页"相关的教程:
· ASP用存储过程实现数据分页
· ASP 用存储过程实现数据分页
· ASP+SQL SERVER 分页方式(不用存储过程)
· 一个高效的数据分页的存储过程
· ASP+ORACLE分页方式(不用存储过程)
    微笑服务 优质保证 索取样品