我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp数据库/打印 > asp 用存储过程实现数据分页
热门文章排行
热门文章排行 ASP中access数据库的路径问题(03-23)
我是否可以将Excel数据导入?(03-23)
访问数据库(2)(03-23)
asp.net中读取数据库的两种方式(03-23)
VB/ASP数据库连接字符串示例(03-23)
精采文章排行
精采文章排行
技术专题推荐
网管论坛交流
 

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

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-23

一、创建表 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

%>




文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。