在Sql Server2000中,
在查询分析器中执行存储过程,
如何获取其返回值呢?
例如:
CREATE PROCEDURE P_CC_NetCorp(@i_Lownum int ,@B_Time DateTime,@E_Time DateTime,@CC_NetCorps varchar(512) output,@str_message varchar(256) output) 
执行后,如何获取@cc_netcorps和@str_message呢?
请高人指点.
谢谢

解决方案 »

  1.   

    群号: 25725864  
    名字: 程序↑人生?⑶
    要求: ORCALE和SQL SEEVER 高手进 热心人进  你的指点将使你我他茅舍顿开
      

  2.   

    declare @CC_NetCorps varchar(512)
    declare @str_message varchar(256)
    exec P_CC_NetCorp '','','',@CC_NetCorps out,@str_message out select @CC_NetCorps,@str_message
      

  3.   

    to:zlp321002
    改了,运行后,
    结果还是空值
      

  4.   

    这样试试:
    CREATE PROCEDURE P_CC_NetCorp(@i_Lownum int ,@B_Time DateTime,@E_Time DateTime,@CC_NetCorps varchar(512) output,@str_message varchar(256) output) 
    as
    ----为输出型变量赋值
    select @CC_NetCorps = 列名1,@str_message = 列名2 from 表 where 条件
    GO
    ----查询变量值
    select @CC_NetCorps,@str_message
      

  5.   

    --try
    declare @CC_NetCorps varchar(512)
    declare @str_message varchar(256) 
    exec P_CC_NetCorp 1, '2006-01-01', '2006-12-30', @CC_NetCorps output, @str_message output
    select @CC_NetCorps, @str_message
      

  6.   

    你的存儲過程運行后得到的是空值吧?你可以試著在 存儲過程結尾給那2個變量賦一個值再按上面的方法試試看有值沒   用  print @CC_NetCorps + ',' + @str_message 也可以看到值
      

  7.   

    create  proc tst
    (@i INT,
    @o INT OUTPUT)
    AS
    SELECT @o=@i+1
    declare @x int
    exec tst 1,@x output
    select @x
    /*
    2
    */你自己查一下你的存储过程语句得出的结果是不是null.
      

  8.   

    CREATE PROCEDURE P_CC_NetCorp
       (
    @i_Lownum int ,
    @B_Time DateTime,
    @E_Time DateTime,
    @CC_NetCorps varchar(512) output,
    @str_message varchar(256) output
       )
    AS
    BEGIN
    SELECT @CC_NetCorps = @i_Lownum + 1
    SET str_message =CONVERT(VARCHAR,ABS(DATEDIFF(MINUTE,@E_Time,@B_time)))
    END
    GODECLARE @CC_NetCorps VARCHAR(512)
    DECLARE @str_message VARCHAR(256)
    EXEC P_CC_NetCorp '1','12:15','12:45',@CC_NetCorps OUTPUT,@str_message OUTPUT
    SELECT @CC_NetCorps AS 'ID'
    -----------这样有结果