我调用的存储过程怎么执行不了?帮忙看一下

来源:百度知道 编辑:UC知道 时间:2024/06/03 10:23:31
请教,我写了一个有返回值的存储过程,但执行不了,帮忙看一下错误:)
这是存储过程---create proc sp_title(@id int)
as
if exists(select utitle from a where uid=@id)
return 1
else
return 0
这是执行文件---- constr="provider=sqloledb;data source=.;uid=sa;pwd=;database=ceshi"
Set con=server.CreateObject("adodb.connection")
con.open constr
set cmd=server.createobject("adodb.command")
cmd.activeconnection=con
cmd.commandtype=4
cmd.commandtext="sp_title"
cmd.Prepared= true
cmd.parameters.append cmd.createparameter("@return_value",advarchar,adParamReturnValue )
cmd.parameters.append cmd.createparameter("@id",advarchar,adParamInput,40)
cmd("@id")="1"
cmd.execute()
rrr=cmd("@return_value")
response.write rrr
set cmd=nothing
con.close
set

cmd.parameters.append cmd.createparameter("@id",200, 1, 40, "1") '这里不小心把input设置成output了
cmd.parameters.append cmd.createparameter("@return_value", 4, 4 )

试试

把 cmd("@id")="1" 去掉

再不行的话, 使用普通命名法"return_value", 而不是 @return...

-------------------------
没错哈, 第一个@id是输入参数, 总共5个参数: 参数名, 类型, 输入/输出, 长度, 参数值

输出参数的句子总共有四个参数: 参数名, 类型, 输入/输出, 长度

返回值的参数有三个参数: 参数名, 参数类型, 返回