在asp中返回不了存储过程返回值

tufun 2004-11-21 08:17:35
哪位大虾能救救小弟报错如下 在asp中返回不了存储过程返回值
ADODB.Command 错误 '800a0cc1'
在对应所需名称或序数的集合中,未找到项目。
/user/3.asp,行27
asp代码如下------------------------------------------------------------------------
<!-- #include virtual ="/sys/conn.asp" -->
<!-- #include virtual ="/sys/adovbs.inc" -->
<% Set Comm=server.CreateObject ("ADODB.Command")
Set Comm.ActiveConnection=db
Comm.CommandType=adCmdStoredProc
Comm.CommandText="RegisterUser" %>
//创建存储过程返回参数对象
<% Set RetCode=Comm.CreateParameter ("RetCode",adInteger,adParamReturnValue,10) %>
//创建存储过程输入参数对象
<% Set usrName=Comm.CreateParameter ("usrName",adVarchar,adParamInput,30)
Set usrPwd=Comm.CreateParameter ("usrPasswd",adVarchar,adParamInput,30)
Set age=Comm.CreateParameter("age",adInteger,adParamInput)
Set PhoneNum=Comm.CreateParameter ("PhoneNum",adVarchar,adParamInput, 20)
Set Address=Comm.CreateParameter("Address",adVarchar,adParamInput,50)
Comm.Parameters.Append usrName
Comm.Parameters.Append usrPwd
Comm.Parameters.Append age
Comm.Parameters.Append PhoneNum
Comm.Parameters.Append Address
Comm.Parameters("usrName")="'sdafsadf"
Comm.Parameters("usrPasswd")="'wqeqw"
Comm.Parameters("age")=11
Comm.Parameters("PhoneNum")="345435"
Comm.Parameters("Address")="sgdsfgdsfgdsf"
'Comm.Parameters("RetCode")
Comm.Execute ()
RetValue=Comm("RetCode") %>
//根据数据库存储过程返回代码判断注册是否成功
<% if RetValue< 0 then
response.Redirect RegisterFail.html
else
response.Redirect RegisterOk.html
end if
%>
数据库与存储过程的主要代码如下---------------------------------------------------------------------------------
Create Table T_USER(userName varchar(30),userPasswd varchar(30))
Create Table USERDOC(userName varchar(30),Age int,Sex int,PhoneNumber varchar(20),Address varchar(50))

CREATE proc RegisterUser
(@usrName varchar(30),
@usrPasswd varchar(30),
@age int,
@PhoneNum varchar(20),
@Address varchar(50) )
as
begin
--显示定义并开始一个事务
begin tran
insert into T_USER (userName,userPasswd) values (@usrName,@usrPasswd)
if @@error<>0
begin
--//操作失败,则事务回滚
rollback tran
--//返回存储过程,并设置返回码为事务操作失败
return 1000
end
insert into USERDOC(userName,age,PhoneNumber,Address)
values(@Usrname,@age,@PhoneNum,@Address)
if @@error<>0
begin
--//操作失败,则事务回滚
rollback tran
return 1000
end
--//如果操作执行正确,则提交事务
commit tran
return 1000
end
GO

...全文
147 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tufun 2004-11-21
  • 打赏
  • 举报
回复
那句本来就是不用的因为上面已经创建了Set RetCode=Comm.CreateParameter("RetCode",adInteger,adParamReturnValue,10)下面创建的是adParamInput
就算去了注释,也解决不了问题
shaolin13108 2004-11-21
  • 打赏
  • 举报
回复
是这句错误 RetValue=Comm("RetCode")
因为上面你没有创建retcode参数 你注释了 'Comm.Parameters("RetCode")
这行
我想你是忙晕了 忙的昏头转向 出现这

28,391

社区成员

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

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