--存储过程应该这样写:
create proc p_qry
@num1 int out,
@name varchar(10) out
as
set nocount on
select @num1=count(id) from a
select @name=name from b where id=2
select * from c
set nocount off
go

解决方案 »

  1.   

    'ASP中的调用代码<%set icmd=server.createobject("adodb.command")icmd.ActiveConnection = conn  '数据库连接字符串
    icmd.CommandType = 4
    icmd.CommandText = "p_qry"'第一次调用,取得返回的值
    icmd.Parameters.Refresh
    icmd.Execute
    name=icmd.Parameters("@name") '取得返回的值
    num1=icmd.Parameters("@num1") '取得返回的值'第二次调用,返回结果集
    set rs=server.createobject("adodb.recordset")
    icmd.Parameters.Refresh
    set rs=icmd.Execute
      

  2.   

    可以把你要的变量值放在记录集中一起传出来。
    select * from (select i_id from tbl_test3 where i_id=1) a, (select * from tbl_test2 ) b  
      

  3.   

    经过测试,一定要做两次调用,才能分别得到返回值及记录集谢谢zjcxc(: 邹建 :) 我还以为可以一次调用就搞定呢:)