正在阅读:asp 用存储过程实现数据分页asp 用存储过程实现数据分页

2005-06-11 11:19 出处: 作者:佚名 责任编辑:moningfeng
  一、创建表 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
%>

关注我们

最新资讯离线随时看 聊天吐槽赢奖品