CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

asp调用存储过程返回值问题

楼主sxsgssgs(.net新手)2005-06-14 15:39:32 在 Web 开发 / ASP 提问

存储过程:  
   
    CREATE   PROCEDURE   [dbo].InsertMessage  
  @name   char(10),  
                  @sex     char(10),  
                  @content   char(10),  
  @ID   int   OUTPUT  
  AS  
   
  INSERT   INTO   [dbo].[test1]   (  
  [name],  
  [sex],  
  [content]  
  )   VALUES   (  
  @name,  
  @sex,  
  @content  
  )  
   
  SET   @ID   =   @@IDENTITY  
   
  GO  
  存储过程,我已经执行多次,正确!  
   
   
  以下是asp调用代码  
   
  strsql="declare   @ID   int   "&_  
                "execute   insertmessage   'sgs','男','execute_OK',@ID   output"  
  Set   rs   =   conn.execute(strsql)   '我检查了一下数据表,已经插入数据了  
  response.write   rs(0).value         '这一句出问题了。  
   
  错误提示:ADODB.Recordset   错误   '800a0cc1'    
   
  在对应所需名称或序数的集合中,未找到项目。    
   
  /test/updaters.asp,行25    
   
  行25就是response.write   rs(0).value   这一行。  
   
  请问,我如何不用COMMAND能取得@ID,且能显示出来?  
   
  问题点数:20、回复次数:14Top

1 楼sxsgssgs(.net新手)回复于 2005-06-14 16:23:12 得分 0

??Top

2 楼kingcrab(叫什么好呢...)回复于 2005-06-14 18:27:28 得分 0

我看楼主还是用COMMAND吧Top

3 楼zlj113(·米老鼠· 学习)回复于 2005-06-14 18:34:33 得分 0

偶没看明白??Top

4 楼taolidadi(桃李大地)回复于 2005-06-14 21:38:54 得分 0

楼主这里希望这句response.write   rs(0).value要返回rs里的什么值?Top

5 楼sxsgssgs(.net新手)回复于 2005-06-15 10:07:34 得分 0

就一个返回值,rs(0)当然是返回值了Top

6 楼itzhiren(itzhiren)回复于 2005-06-15 10:12:00 得分 0

rs.fields(0).valueTop

7 楼sxsgssgs(.net新手)回复于 2005-06-15 11:13:40 得分 0

熟悉的来呀。本人可以重新开贴给分Top

8 楼sxsgssgs(.net新手)回复于 2005-06-15 11:52:58 得分 0

ddddTop

9 楼tmpx(沙漠之鹰)回复于 2005-06-15 12:15:38 得分 20

不用Command可能无法得到返回值,如果你坚持用连接执行的话可以用替代方案,不要用出参。  
  CREATE   PROCEDURE   [dbo].InsertMessage  
  @name   char(10),  
                  @sex     char(10),  
                  @content   char(10),  
  AS  
   
  INSERT   INTO   [dbo].[test1]   (  
  [name],  
  [sex],  
  [content]  
  )   VALUES   (  
  @name,  
  @sex,  
  @content  
  )  
   
  GO  
   
  strsql   =   "execute   insertmessage   'sgs','男','execute_OK'"  
  conn.execute(strsql)  
  strsql   =   "select   @@IDENTITY   as   ID"  
  set   rs   =   conn.execute(strsql)  
  response.write   rs(0).value  
   
  这样你就可以得到插入数据的自动编号ID了  
  Top

10 楼tmpx(沙漠之鹰)回复于 2005-06-15 12:16:35 得分 0

朋友你的信誉值已经够低了:)Top

11 楼sxsgssgs(.net新手)回复于 2005-06-15 12:24:32 得分 0

ddddddddddddddddddddddddTop

12 楼andymu077(明治佐玛戒--秀曼)回复于 2005-06-15 12:33:07 得分 0

itzhiren(itzhiren)说的应该是正确的吧!Top

13 楼sxsgssgs(.net新手)回复于 2005-06-15 13:02:23 得分 0

TO   tmpx(沙漠之鹰)    
  你这种方法,怎么可能保证取到的是自己刚插入的记录ID?(并发时)  
   
  好了,我要解结了。再问也没意义了Top

14 楼tmpx(沙漠之鹰)回复于 2005-06-15 13:57:51 得分 0

你可以用事务来自动锁定啊,既然你这么厉害还来这里发什么贴啊,自己解决不就得了?sql   server的事务怎么写你这么厉害不会不知道吧Top

相关问题

  • asp调用存储过程
  • asp调用存储过程
  • ASP调用存储过程...
  • ASP调用存储过程??
  • ASP调用ORACLE存储过程,返回值有问题???急!
  • 请问:asp调用存储过程,为什么不能返回值(源码)?
  • ASP如何调用oracle存储过程, 并且获得返回值?
  • 关于Asp调用存储过程
  • asp调用sql存储过程问题
  • asp调用存储过程的问题?

关键词

  • 存储过程
  • asp
  • insertmessage
  • sex
  • 返回
  • strsql
  • 插入
  • rs
  • execute
  • dbo

得分解答快速导航

  • 帖主:sxsgssgs
  • tmpx

相关链接

  • Web开发类图书

广告也精彩

反馈

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