asp分页存储过程文档格式.docx
- 文档编号:5201295
- 上传时间:2023-05-04
- 格式:DOCX
- 页数:10
- 大小:17.78KB
asp分页存储过程文档格式.docx
《asp分页存储过程文档格式.docx》由会员分享,可在线阅读,更多相关《asp分页存储过程文档格式.docx(10页珍藏版)》请在冰点文库上搜索。
tr>
td>
%=
rsArray(0,
i)
/td>
rsArray(1,
rsArray(2,
/tr>
next
end
if
td
colspan="
4"
>
共<
My.GetTotalNum
条
每页<
My.GetiPageSize
My.GetTotalPage
页
页码:
My.GetFenYeJmp(false)
/table>
还有很多功能可以拓展,复杂的查询、排序等,不一一演示了这个是使用到的asp类->
Page.asp
*******************************************************
Page
分页类
特点:
采用
not
in
分页输出方法,需配合
sp_Page
存储过程使用,速度比较快
输入参数
connstr:
数据库链接字符串
StrTable:
要查询的表
StrText:
要查询的字段
StrIndex:
索引字段
可选参数:
(iPageSize:
每页记录数量
StrWhere:
条件语句
StrOrder:
排序字段
StrSc:
排序方法
ActionStr:
From提交的查询参数)
输出参数
rsArray:
返回的记录集数组
GetTotalNum:
返回的总记录数
GetiPage:
当前页码
GetTotalPage:
总页数
GetiPageSize:
每页显示条数
输出方法
GetFenYe():
分页
GetFenYeJmp(inForm):
带跳转的分页
作者:
六月雨
QQ:
44569457
整理时间:
2008年9月27日
Class
Private
connstr
iPage
当前页码
iPageSize
每页记录数量
StrTable
要查询的表
StrText
要查询的字段
StrWhere
条件语句
StrIndex
StrOrder
排序字段
StrSc
排序方法
ActionStr
翻页链接字符
Rs_dbs
记录集名称
cmd
cmd对象名称
rsArray
返回的记录集数组
TotalNum
返回的总记录数
Sub
Class_Initialize()
初始化类
iPageSize=10
iPage=trim(Request("
iPage"
))
ActionStr="
"
StrWhere="
StrOrder="
StrSc="
If
(not
IsNumeric(iPage))
Then
iPage=1
Else
iPage<
1
then
iPage>
5000000
If
Sub
Class_Terminate()
释放类
set
Rs_dbs=nothing
Public
Property
Let
SetConnstr(svalue)
取得:
connstr=Lcase(svalue)
Property
SetiPageSize(svalue)
iPageSize=clng(svalue)
SetStrTable(svalue)
SQL表名
StrTable=Lcase(svalue)
SetStrText(svalue)
SQL查询的字段
StrText=Lcase(svalue)
SetStrWhere(svalue)
SQL条件字段
StrWhere=Lcase(svalue)
SetStrIndex(svalue)
StrIndex=Lcase(svalue)
SetStrOrder(svalue)
StrOrder=Lcase(svalue)
SetStrSc(svalue)
StrSc=Lcase(svalue)
SetActionStr(svalue)
ActionStr=Lcase(svalue)
Function
MadeOrderBy()
方法:
组合Order
By
语句
dim
TempStrOrder,TempStrSc,t
StrOrder<
and
StrSc<
TempStrOrder=split(StrOrder,"
"
)
TempStrSc=split(StrSc,"
ubound(TempStrOrder)=ubound(TempStrSc)
for
t=0
to
ubound(TempStrOrder)
MadeOrderBy=TempStrOrder(t)&
&
TempStrSc(t)
else
MadeOrderBy=MadeOrderBy&
TempStrOrder(t)&
Function
OpenRs()
获得记录集
Rs_dbs=Server.CreateObject("
ADODB.RECORDSET"
Server.CreateObject("
ADODB.Command"
with
cmd
.ActiveConnection
数据库连接字串
.CommandText
sp_Page"
指定存储过程名
.CommandType
4
表明这是一个存储过程
.Prepared
true
要求将SQL命令先行编译
.Parameters.append
.CreateParameter("
@iPage"
3,1,4,iPage)
指定页数
@iPageSize"
3,1,4,iPageSize)
每页记录数
@StrTable"
200,1,200,StrTable)
分页时要查询的表名
@StrText"
200,1,1000,StrText)
字段
@StrWhere"
200,1,1000,StrWhere)
查询条件where
中的条件语句
@StrIndex"
200,1,30,StrIndex)
索引值
@StrOrder"
200,1,100,MadeOrderBy())
排序的字段
.Parameters.Append
@StrTotals"
3,2,10)
总页数output
.Execute
with
Get
GetRs()
输出:
记录集(数组方式)
call
OpenRs()
(Rs_dbs.eof
Rs_dbs.bof
)
GetRs
Rs_dbs.GetRows()
Rs_dbs.close
cmd(7)
nothing
GetTotalNum
总记录数
GetTotalNum=TotalNum
GetTotalPage
总页数
(TotalNum
mod
iPageSize)<
GetTotalPage=(TotalNum\iPageSize)+1
GetTotalPage=(TotalNum\iPageSize)
GetiPageSize
GetiPageSize=iPageSize
GetiPage
GetiPage=iPage
GetQueryUrl()
获得当前URL
UrlFile,Query,Querys,i
UrlFile=
Request.Servervariables("
URL"
Query=
QUERY_STRING"
Querys=split(Query,"
i=0
ubound(Querys)
trim(Querys(i))<
trim(Querys(i))=replace(trim(Querys(i)),"
iPage="
GetQueryUrl=GetQueryUrl&
Querys(i)&
Next
GetQueryUrl=UrlFile&
?
GetQueryUrl
ActionStr&
GetFenYe()
分页
(iPage>
=1)
(clng(iPage)<
=clng(GetTotalPage))
x,y,m,n,i,ActionUrL
ActionUrL=GetQueryUrl()
iPage=Clng(iPage)
TotalNum<
x=TotalNum\iPageSize
y=TotalNum
iPageSize
y<
x=x+1
5
(iPage+5)<
=x
n=iPage-4
m=iPage+5
m=x
n=1
m=10
x<
=10
Response.Write"
a
href="
ActionUrL&
(iPage-1)&
上一页<
/a>
i=1
x
iPage=i
Response.Write(i)
i&
["
]<
x
(iPage+1)&
下一页<
iPage=1>
[首页]<
i=n
m
Exit
For
x&
[尾页]<
GetFenYeJmp(inForm)
inForm
response.Write(GetFenYe()&
input
name='
iPage'
type='
text'
value="
iPage&
id='
size='
3'
response.Write("
submit'
Submit'
value='
转'
form
Jmp'
method='
post'
action="
GetQueryUrl()&
/form>
Class
存储过程
CREATE
PROCEDURE
[dbo].[sp_Page]
@iPage
int=1,
--当前页码
@iPageSize
int=10,--每页条数
@StrTable
varchar(200),--查询的表
@StrText
varchar(1000),--查询的字段
@StrWhere
varchar(1000),--条件
@StrIndex
varchar(30),--索引
@StrOrder
varchar(100)='
--排序字段
@StrTotals
int
output
--返回总条数
AS
--定义变量
declare
@SqlCount
nvarchar(2000)
@Sql
@TempOrder
nvarchar(1000)
@StrOrder<
begin
@TempOrder='
order
by
+@StrOrder
end
--组合sql语句
@iPage=1
@Sql='
select
top
+str(@iPageSize)+'
+@StrText+'
from
+@StrTable+'
where
1=1
+@StrWhere+@TempOrder
+@StrIndex+'
(select
+str(@iPageSize*(@iPage-1))+'
+@StrWhere+@TempOrder+'
@SqlCount='
@StrTotals=isnull(count(*),10000)
+@StrWhere
--查询总记录数量
exec
sp_executesql
@SqlCount,N'
output'
@StrTotals
output
--执行sql语句返回
(@Sql)
GO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- asp 分页 存储 过程