create procedure sp_test
  @count int output
as
begin
  select @count=count(*) from sysobjects
  select * from sysobjects
  return 1
end
godeclare @code int,@count int
exec @code=sp_test @count outputselect @code,@count
godrop procedure sp_test
go

解决方案 »

  1.   

    问题是在asp中如有记录返回时,总是得不到返回值,没有记录集,就可以得到返回值。不知道为什么?? set objCmd=server.CreateObject("adodb.command")
    objCmd.ActiveConnection=Application("SqlSverdbs")
    objCmd.CommandType=4
    objCmd.CommandText="sp_test"
    objCmd.Parameters.Refresh
    set objRs=objCmd.execute
    iRETURN_VALUE=objCmd.Parameters("@RETURN_VALUE").Value记录可以得到,但是iRETURN_VALUE返回值总是得不到。
      

  2.   

    楼主,返回值和返回集要作不同的处理,如下, 
            set objCmd=server.CreateObject("adodb.command")
    objCmd.ActiveConnection=Application("SqlSverdbs")
    objCmd.CommandType=4
    objCmd.CommandText="sp_test"
    objCmd.Parameters.Refresh
             objCmd.Execute()                --新增返回值
    iRETURN_VALUE=objCmd.Parameters("@RETURN_VALUE").Value
    set objRs=objCmd.execute       --返回集