CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

老大们,帮小弟看看,为何我无法调用这个存储过程阿

楼主mornlena(MoRn)2005-05-18 10:10:56 在 Web 开发 / ASP 提问

--存储过程为  
   
  CREATE   PROCEDURE   dbo.oa_SumByKind     @xn   varchar(50)   AS  
  --set   nocount   on  
   
  (此部分太长,删去)  
  (在查询分析器里执行没有问题,可以返回值)  
   
  select   *   from   #mytemp1_col  
  select   *   from   #mytemp1  
   
  --drop   table   #mytemp1_col  
  --drop   table   #mytemp1  
  --drop   table   #mytemp  
  --set   nocount   off  
   
  GO  
  --执行结果  
  --#mytemp1_col  
  col_name   show           id  
  myid 0 1  
  项目名称 1 2  
  DN100 1 3  
  DN150 1 4  
  DN300 1 5  
  DN600 1 6  
   
  --#mytemp1  
  name           dn100         dn150         dn300       dn600           id  
  666 220.0 -1.0 111.0 -1.0 1  
  99 123.0 123.0 600.0 -1.0 2  
  9988 8956.0 -1.0 -1.0 662.0 3  
  --asp   调用  
   
  set   temp   =   Server.CreateObject("ADODB.recordSet")  
  Sql="exec   oa_SumByKind   '"   &   xn   &   "'"  
  temp.open   sql,cn,1,1  
  response.Write   temp("myid")  
  response.End()  
   
  提示错误:  
  ADODB.Recordset   错误   '800a0cc1'    
  Item   cannot   be   found   in   the   collection   corresponding   to   the   requested   name   or   ordinal.  
   
  问题点数:100、回复次数:13Top

1 楼baikaishui_0825(baikaishui)回复于 2005-05-18 10:16:49 得分 30

myid从那里来?Top

2 楼baikaishui_0825(baikaishui)回复于 2005-05-18 10:19:09 得分 0

try:  
  --select   *   from   #mytemp1  
  Top

3 楼mornlena(MoRn)回复于 2005-05-18 10:41:29 得分 0

#mytemp1_col   存储   #mytemp1   这个表中所有列的名称  
  Top

4 楼mornlena(MoRn)回复于 2005-05-18 10:43:22 得分 0

自己顶,很急啊,路过的帮忙顶顶也好啊Top

5 楼baikaishui_0825(baikaishui)回复于 2005-05-18 10:53:27 得分 0

--#mytemp1  
  name           dn100         dn150         dn300       dn600           id  
  666 220.0 -1.0 111.0 -1.0 1  
  99 123.0 123.0 600.0 -1.0 2  
  9988 8956.0 -1.0 -1.0 662.0 3  
  这个表里没看到你myid这一列?Top

6 楼mornlena(MoRn)回复于 2005-05-18 10:57:44 得分 0

哦,就是myid   =   id   #mytemp1_col   里就是存   #mytemp1列名,我复制的时候弄错了,这里应该没有问题,因为在查询分析器里可以返回结果,而且正确,主要是我发在asp里调用返回的记录集阿Top

7 楼baiyunfei(虚度残生)回复于 2005-05-18 11:07:06 得分 70

先检查你需要的字段是否在返回的记录集内  
  另外,存储过程返回了两个记录集,asp调用后,默认是引用第一个记录集,即此时可以获得select   *   from   #mytemp1_col   的内容。要使用第二个记录集,需要这样:  
  <%  
  set   temp   =   Server.CreateObject("ADODB.recordSet")  
  Sql="exec   oa_SumByKind   '"   &   xn   &   "'"  
  temp.open   sql,cn,1,1  
  '...使用完第一个记录集体后  
  temp.NextRecordSet  
  '此时可以得到第二个记录集内容了  
  %>Top

8 楼baiyunfei(虚度残生)回复于 2005-05-18 11:17:05 得分 0

不好意思,漏了一点,应该是  
   
  set   temp=temp.NextRecordSet  
  Top

9 楼mornlena(MoRn)回复于 2005-05-18 11:17:29 得分 0

set   mytemp   =   Server.CreateObject("ADODB.recordSet")  
  Sql="exec   oa_SumByKind   '"   &   xn   &   "'"  
  mytemp.open   sql,cn,1,1  
   
  response.Write   mytemp.recordcount'("isshow")  
  response.End()  
   
  是这个错误啦1:(  
  ADODB.Recordset   错误   '800a0e78'    
  Operation   is   not   allowed   when   the   object   is   closed.  
   
  到底怎么回事,听你们说的很简单啊!  
   
  我存储过程   在查询分析器里可以显示查到的记录阿  
  Top

10 楼baiyunfei(虚度残生)回复于 2005-05-18 11:17:37 得分 0

不好意思,漏了一点,应该是  
   
  set   temp=temp.NextRecordSet  
  Top

11 楼mornlena(MoRn)回复于 2005-05-18 14:41:34 得分 0

自己顶Top

12 楼baiyunfei(虚度残生)回复于 2005-05-18 15:07:38 得分 0

还没搞定吗?这样呢:  
  set   mytemp   =   Server.CreateObject("ADODB.recordSet")  
  Sql="exec   oa_SumByKind   '"   &   xn   &   "'"  
  mytemp.open   sql,cn,1,1  
  if   not   mytemp.eof   then  
  response.Write   mytemp.recordcount'("isshow")  
  response.End()  
  end   if  
  Top

13 楼mornlena(MoRn)回复于 2005-05-18 17:43:46 得分 0

呵呵,不知道怎就没有事了,换个存储过程执行了一下,又换回来,就好了,麻烦你了Top

相关问题

  • 存储过程调用存储过程
  • 存储过程的调用!
  • vb 调用存储过程
  • asp调用存储过程
  • asp调用存储过程
  • ASP调用存储过程...
  • ASP调用存储过程??
  • 关于调用存储过程调用?
  • 如何在存储过程中调用存储过程?
  • 如何在存储过程中调用存储过程?2

关键词

  • 存储过程
  • 分析器
  • 查询
  • 执行
  • sql
  • mytemp
  • 调用
  • sumbykind
  • dn
  • 记录

得分解答快速导航

  • 帖主:mornlena
  • baikaishui_0825
  • baiyunfei

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo