跪求答案!!高分求助,我快疯了。实在找不原因所在。(关于asp中调用存储过程)

serryzhou 2005-09-22 04:56:43
我在SQL中写了一个存储过程,很简单,语句如下:


CREATE procedure searchtel
@orgid int,
@fund_account char(12)
as

select id=IDENTITY(int,1,1),* into #searchtel_temp from tel_find where orgid=@orgid and fund_account=@fund_account order by cmd_date

select * from #searchtel_temp a where call_num in (select distinct call_num from #searchtel_temp) and id = (select max(id) from #searchtel_temp where call_num=a.call_num)

GO
存储过程我检查了,没问题。但在ASP中调用总出错。
出错提示为
“ADODB.Recordset 错误 '800a0e78'
对象关闭时,不允许操作。

/allphonelist.asp,行172

在ASP中调用语句如下:
rs对象,conn_crmall连接均已建立

set cmd = server.CreateObject("ADODB.command")
cmd.activeconnection = conn_crmall
cmd.commandText = "searchtel"
cmd.commandType = 4 'adCmdStoredProc

'追加参数
cmd.Parameters.Append cmd.CreateParameter("@orgid",3,1,,orgid)
cmd.Parameters.Append cmd.CreateParameter("@fund_account",129,1,12,fundid)

rs.open cmd

就这样简单的语句,我在读取rs记录集时总出错?找了一天了,不知原因何在??
...全文
119 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
serryzhou 2005-09-23
  • 打赏
  • 举报
回复
求大家了,帮帮我吧。。。
serryzhou 2005-09-22
  • 打赏
  • 举报
回复
我整个页面有多次要打开rs,在调用存储过程前我已将之前调用的rs对象close了,我以前一直这样写的。而且我如果改一下存储过程,在存储过程中只简单select就返回。同样的ASP程序就能正常显示。但我只要在存储过程中将select 的结果先存到一张临时表中,再从临时表中读取,就会出现上述错误,但我这个存储过程在SQL中执行没有任何错误。真是要疯了。。。

你说如何检查临时表?临时表会有什么问题?
jspadmin 2005-09-22
  • 打赏
  • 举报
回复
conn.close
set conn=nothing
rs.close
set rs=nothing
挨个找这四句,分别注释掉再试
如果还不行,就请检查临时表了
serryzhou 2005-09-22
  • 打赏
  • 举报
回复
我试过了,不行。我刚把存储过程改了下,直接在存储过程中写一条select语句,不改asp程序,就没问题。我先写进临时表,再从临时表中读取就出错。真是见鬼了!!!
tigerwen01 2005-09-22
  • 打赏
  • 举报
回复
把类似rs.close语句注释掉试试

28,406

社区成员

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

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