今天做存储过程的返回值的时候,发现书上写的这句话不知道什么含义
return (int)cmd.Parameters[returnValueString].Value;
其中cmd是Sqlcommand的对象,希望能解释细一点

解决方案 »

  1.   

    在PRO即存储过程中如果有返回值,必须定义一个变量来保存返回值。值行后该值会保存在此变量中,可通过上述方法进行获取
      

  2.   

    create proc aaa @cOrderNo char(20)
    as
    begin
    declare @b int
    select @b=sum(mToyCost) from OrderDetail where cOrderNo=@cOrderNo group by cOrderNo
    if @b >=60
    select @b +'mToyCost>=60'
    else
    select @b + 'mToyCost<60'
    end上面的代码是从网上粘的,可能不对但是这么个意思。如果@b是输出值
    那么:return (int)cmd.Parameters["@b"].Value; 就是存储过程中取得的值
      

  3.   

    我一直有个疑问 为什么在sql2000里面 存储过程声明变量时 不需要括号 而2005中就需要了