紧急求救:存储过程,工作要用,我实在没有办法了!

muziruyue 2005-07-19 03:42:51
内容如下:
sp_c存储过程:
CREATE proc sp_c
@tablename varchar(50),
@title varchar(300)
as

if @tablename='Product'

select count(*) from Product where P_Name like '%'+@title+'%'
GO



-------------------------------------------------------------------



sp_search存储过程:
CREATE PROCEDURE sp_search

@tablename varchar(50),

@title varchar(250),


@pagesize int,

@page int

AS

if @tablename='Product'

begin


declare @str varchar(200)


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

N'IsUserTable') = 1)


————————————————————————————————————
asp调用页面:


<!--#include virtual="/Public/Connect.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"))
title="M"
'list2_id=trim(request("list2_id"))
set rs2=conn.execute("sp_c 'Product','"&title&"'")
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&""
xxx=rs2(0)
rs2.close
set rs2=nothing

set rs=conn.execute("sp_search 'Product','"&title&"','"&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"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 while not rs.eof %>

<tr height=22>

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

onclick="window.open('editkoushi.asp?id=<%=rs("P_ID")%>&page=<%=page%>&title=<%=title%>','','width=518 height=160 left=100')">

<%=rs("P_Name")%></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%>">首页</a> <a
href="search_koushi.asp?page=<%=page-1%>&title=<%=title%>">上一页</a> <a
href="search_koushi.asp?page=<%=page+1%>&title=<%=title%>">下一页</a> <a
href="search_koushi.asp?page=<%=pagecount%>&title=<%=title%>">末页</a>  

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

  共有 <%=xxx%> 条记录</td>

</tr>

</table>

</body>

</html>

<%


rs.close

set rs=nothing

end if

%>

————————————————————————————————————————————
错误如下:


ADODB.Recordset 错误 '800a0e78'

对象关闭时,不允许操作。

/search.asp,行40


begin

select * into temp_table91 from Product where P_Name like '%'+@title+'%' order by P_ID desc

set rowcount @pagesize

set @str='select * from temp_table91 where P_ID not in
(select P_ID from temp_table91)'


drop table temp_table91

end

end
GO
...全文
206 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
muziruyue 2005-07-21
  • 打赏
  • 举报
回复
继续顶,总算完成了一套,
我是取出要显示的那一页数据,但是存在问题,当那一页数据有被删除的记录,(我是依据ID值)
它就少显示一条
是不是要创建临时表???
我不知道我说的大家能不能明白!!!
希望大家给我答案
muziruyue 2005-07-20
  • 打赏
  • 举报
回复
是大家不愿意告诉我,还是都不会呢??
真心的希望大家能帮我,本着学习的态度,工作的态度
zol318 2005-07-20
  • 打赏
  • 举报
回复
我给大家推荐一个asp.net学习平台!
我看到了一个网站 100MB asp和 asp.net空间 现在促销,
同学们可以做一个简单的个人网站用来找工作 ,
支持 asp.net 一年才50元!不要错过哦!!!
速度非常快,一般公司企业 足够用了!
http://www.hi876.com
希望能对大家有帮助
muziruyue 2005-07-20
  • 打赏
  • 举报
回复
研究了几天,总算明白点东西,研究了很多网上的,书上的代码
也成功了几个
可是:
搜索显示页面,用存储过程分页一直没有解决,我利用成功的几个,想把它们合并起来,可是失败了
工作还要继续,所以请大家继续顶
muziruyue 2005-07-20
  • 打赏
  • 举报
回复
继续顶,总算完成了一套,
我是取出要显示的那一页数据,但是存在问题,当那一页数据有被删除的记录,(我是依据ID值)
它就少显示一条
是不是要创建临时表???
我不知道我说的大家能不能明白!!!
希望大家给我答案
muziruyue 2005-07-19
  • 打赏
  • 举报
回复
楼上的,能帮我吗?
我是想做搜索,然后分页(http://www.71168.com)因为企业库数量达到了10W
我已经研究了几天,还没有合适的解决方案???
尚和空四 2005-07-19
  • 打赏
  • 举报
回复
应该是想用存储过程分页,
可以理解的,
muziruyue 2005-07-19
  • 打赏
  • 举报
回复

我看了很多代码,问题还没有解决,继续UP
解决问题后在开100分
诚意解决问题,
poonzsp 2005-07-19
  • 打赏
  • 举报
回复
建议楼主 在网上多找找代码看看...
muziruyue 2005-07-19
  • 打赏
  • 举报
回复
努力研究
muziruyue 2005-07-19
  • 打赏
  • 举报
回复
这个我已经看过了,
zwrtv 2005-07-19
  • 打赏
  • 举报
回复
路过学习
tigerwen01 2005-07-19
  • 打赏
  • 举报
回复
给你一个参考
http://dev.csdn.net/article/72/72672.shtm
mymyal123 2005-07-19
  • 打赏
  • 举报
回复
没有问题啊,调用方法就是我写的那个,我以前都用过的

你是不是想用存储过程分页
muziruyue 2005-07-19
  • 打赏
  • 举报
回复
SQL 2000
mymyal123 2005-07-19
  • 打赏
  • 举报
回复
你用的是什么数据库
muziruyue 2005-07-19
  • 打赏
  • 举报
回复
衷心希望,能给我看一个完整的能支持分页的例子,本着学习的态度,
muziruyue 2005-07-19
  • 打赏
  • 举报
回复
谢谢上面的,上面的这个例子,我也研究过,总是有点问题,所以没有解决,这两天看了很多存储过程例子,入门教程,网上的我也看了很多例子,可是总调试不好,可能是我还没有掌握这个东西,在这虚心向你们学习
mymyal123 2005-07-19
  • 打赏
  • 举报
回复


<%@ Language=VBScript %>

<%

Dim CmdSP

Dim adoRS

Dim adCmdSPStoredProc

Dim adParamReturnValue

Dim adParaminput

Dim adParamOutput

Dim adInteger

Dim iVal

Dim oVal

Dim adoField

Dim adVarChar



‘这些值在 VB 中是预定义常量,可以直接调用,但在 VBScript 中没有预定义

adCmdSPStoredProc = 4

adParamReturnValue = 4

adParaminput = 1

adParamOutput = 2

adInteger = 3

adVarChar = 200



iVal = 5

oVal = 3



'建一个command对象

set CmdSP = Server.CreateObject("ADODB.Command")



'建立连结

CmdSP.ActiveConnection = "Driver={SQL Server};server=(local);Uid=sa;Pwd=;Database=Pubs"



'定义command 对象调用名称

CmdSP.CommandText = "sp_PubsTest"



'设置command调用类型是存储过程 (adCmdSPStoredProc = 4)

CmdSP.CommandType = adCmdSPStoredProc



'往command 对象中加参数

'定义存储过程有直接返回值,并且是个整数,省缺值是4

CmdSP.Parameters.Append CmdSP.CreateParameter("RETURN_VALUE", adInteger, adParamReturnValue, 4)

'定义一个字符型输入参数

CmdSP.Parameters.Append CmdSP.CreateParameter("@au_lname", adVarChar, adParaminput, 20, "M")

'定义一个整型输入参数

CmdSP.Parameters.Append CmdSP.CreateParameter("@intID", adInteger, adParamInput, , iVal)

'定义一个整型输出参数

CmdSP.Parameters.Append CmdSP.CreateParameter("@intIDOut", adInteger, adParamOutput, oVal)



'运行存储过程,并得到返回记录集

Set adoRS = CmdSP.Execute





'把每个记录打印出来,其中的字段是虚拟的,可以不用管

While Not adoRS.EOF



for each adoField in adoRS.Fields

Response.Write adoField.Name & "=" & adoField.Value & "<br/>" & vbCRLF

Next

Response.Write "<br/>"

adoRS.MoveNext

Wend



'打印两个输出值:

Response.Write "<p>@intIDOut = “ & CmdSP.Parameters("@intIDOut").Value & "</p>"

Response.Write "<p>Return value = " & CmdSP.Parameters("RETURN_VALUE").Value & "</p>"





'大扫除

Set adoRS = nothing

Set CmdSP.ActiveConnection = nothing

Set CmdSP = nothing

%>

danielf 2005-07-19
  • 打赏
  • 举报
回复
这么长?懒的看
加载更多回复(2)

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧