叮叮咚咚

技术文集

导航

asp 用存储过程实现数据分页

一、创建表 tiku_koushi


if exists (select * from dbo.sysobjects where id =
object_id(N'[dbo].[tiku_koushi]') and OBJECTPROPERTY
(id, N'IsUserTable') = 1)
drop table [dbo].[tiku_koushi]
GO

CREATE TABLE [dbo].[tiku_koushi] (
[id] [int] IDENTITY (1, 1) NOT NULL ,

[title] [varchar] (250) COLLATE

Chinese_PRC_CI_AS NULL ,

[list2_id] [char] (10) COLLATE

Chinese_PRC_CI_AS NULL

) ON [PRIMARY]

GO



  二、存储过程 sp_c


CREATE proc sp_c
@tablename varchar(50),
@title varchar(250),

@list2_id varchar(50)

as

if @tablename='tiku_koushi'

select count(*) from tiku_koushi where title like '%'+@title+'%' and list2_id=@list2_id
GO

三、存储过程 sp_search_tiku

 

CREATE PROCEDURE sp_search_tiku

 

@tablename varchar(50),

 

@title varchar(250),

 

@list2_id varchar(10),

 

@pagesize int,

 

@page int

 

AS

 

if @tablename='tiku_koushi'

 

begin

 

declare @ks int

 

declare @str varchar(200)

 

set @ks=@pagesize*(@page-1)

 

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[temp_table91]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

 

begin

 

select * into temp_table91 from tiku_koushi where

title like '%'+@title+'%' and list2_id=@list2_id order

by id desc

 

set rowcount @pagesize

 

set @str='select * from temp_table91 where id not in

(select top '+str(@ks)+' id from temp_table91)'

 

execute(@str)

 

drop table temp_table91

 

end

 

end

GO

 

四、search_koushi.asp


<!-- #include file="conn.asp" -->
<%
line=6
if request("page")="" then
page=1
else
page=request("page")
end if


if page<1 then
page=1
end if



title=trim(request("title"))
list2_id=trim(request("list2_id"))
set rs2=conn.execute("sp_c 'tiku_koushi','"&title&"','"&list2_id&"'")
pagecount=CInt(rs2(0)\line)
if(CInt(rs2(0)) mod line)=0 then
pagecount=pagecount
else
pagecount=pagecount+1
end if


if CInt(page)>=pagecount then
page=CInt(pagecount)
end if
str=""
str=str&"page="&page&"&title="&title&"&list2_id="&list2_id
set rs=conn.execute

("sp_search_tiku 'tiku_koushi','"&title&"','"&list2_id&"','"&line&"','"&CInt(page)&"'")
if rs.eof then
response.write "no record"

else

%>

<html>

 

<head>

 

<style type="text/css">

 

td{font-size:12px;}

 

a{text-decoration:none;}

 

</style>

<script language="javascript">

</script>

</head>

 

<body>

<table width="518" border="1" bordercolorlight="000000"

bordercolordark="#ffffff"

align="center" cellpadding="0" cellspacing="0">

<!--DWLayoutTable-->

 

<tr bgcolor=#dfdfdf>

 

<td width="454" align="center" height=24 valign="middle">口试题的题目</td>

 

<td width="63" align="center" valign="middle">删除</td>

 

</tr>

 

<% do until rs.eof %>

 

<tr height=22>

 

<td valign="middle">·<a href=void(0)"

 

onclick="window.open('editkoushi.asp?id=<%=rs("id")%>&page=<%=page%>&title=<%=title%>&list2_id=<%=list2_id%>','','width=518

height=160 left=100')">

 

<%=rs("title")%></a></td>

 

<td align="center" valign="middle">删除</td>

 

</tr>

 

<%

 

rs.movenext

 

loop

 

%>

 

<tr align="left" valign="middle" bgcolor="efeff6"

height=22>

 

<td colspan="2" style="padding-left:6px;">

 

<a href="search_koushi.asp?page=<%=1%>&title=<%=title%>&list2_id=<%=list2_id%>">首页</a> <a

href="search_koushi.asp?page=<%=page-1%>&title=<%=title%>&list2_id=<%=list2_id%>">上一页</a> <a

href="search_koushi.asp?page=<%=page+1%>&title=<%=title%>&list2_id=<%=list2_id%>">下一页</a> <a

href="search_koushi.asp?page=<%=pagecount%>&title=<%=title%>&list2_id=<%=list2_id%>">末页</a>  

 

一共 <%=pagecount%> 页 当前页为: <%=page%>/<%=pagecount%> 页

 

  共有 <%=rs2(0)%> 条记录</td>

 

</tr>

 

</table>

 

</body>

 

</html>

 

<%

rs2.close

 

set rs2=nothing

 

rs.close

 

set rs=nothing

 

end if

 

%>


posted on 2005-08-31 12:07  叮叮咚咚  阅读(178)  评论(0)    收藏  举报