这个存储过程怎么写?

wangzhenning 2005-09-14 05:29:20
在用ASP+SQL2000设计一个系统时,需要实现一个功能就是:
用根据两个关键字来统计一个大表中的记录数,就像如下语句:
SELECT COUNT(*) FROM record WHERE OfficeNo = '"&OfficeNo&"' AND CounterNo = '"&CounterNo&"'"
其中OfficeNo和CounterNo两个关键字是在一个循环中产生的,
所以我想采用调用存储过程来实现以提高效率,但我以前没用过ASP调用存储过程
希望各位高手给我一些指点
我希望将这个存储过程写成一个带两个参数返回一个数字的函数
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wenti1 2005-09-15
  • 打赏
  • 举报
回复
建立个视图吧
Select OfficeNo+CounterNo,count(1)
From record
Group By OfficeNo+CounterNo
wangzhenning 2005-09-15
  • 打赏
  • 举报
回复
通不过啊
在MS SQL2000中我建立了如上的存储过程sp_count
在ASP中我用以下语句调用:
set cmd=server.CreateObject("adodb.command")
set cmd.ActiveConnection=conn
cmd.commandText="sp_count"
cmd.parameters.refresh
cmd("@OfficeNo")=OfficeNo
cmd("@CounterNo")=CounterNo
set toprs=cmd.execute
if cmd("@Status")<>0 then
Response.Write("说明出错了")
else
Response.Write("正确")
End if
出错信息:
ADODB.Command 错误 '800a0cc1'
在对应所需名称或序数的集合中,未找到项目。
haver.G 2005-09-14
  • 打赏
  • 举报
回复
调用

cmd.commandText="sp_count"
cmd.parameters.refresh
cmd("@OfficeNo")=OfficeNo
cmd("@CounterNo")=CounterNo
set toprs=cmd.execute
if cmd("@Status")<>0 then
'说明出错了
else
'正确
End if
haver.G 2005-09-14
  • 打赏
  • 举报
回复
--写了一个,你试下先。

--SELECT COUNT(*) FROM record WHERE OfficeNo = '"&OfficeNo&"' AND CounterNo = '"&CounterNo&"'"

SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO

Create Proc sp_count
--读取每一页的数据(管理)
(
@Status int OUTPUT, --状态
@ErrMsg varchar(255) OUTPUT, --错误信息
@Count_value int OUTPUT, --返回的Count
@OfficeNo varchar(255),
@CounterNo varchar(255)
)
AS

Set nocount Off
Set @Status=0
Set @ErrMsg =''
Set @Count_value=0

Declare @SQL varchar(500)
Declare @CountValue int
Set @SQL = 'SELECT '+Cast(@CountValue as varchar)+'=COUNT(*) FROM record WHERE OfficeNo = '''+@OfficeNo+''' AND CounterNo = '''+@CounterNo+''''
--Print @SQL
Execute(@SQL)

If @@Error<>0 Begin
Set @Status=-1
Set @ErrMsg = '数据库操作失败,请稍后再试!'
Return
END
Else Begin
Set @Count_value = @Countvalue
Return
END


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

28,406

社区成员

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

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