ALTER       PROCEDURE       [dbo].[SelectUser]       
@Name2       varchar(20),   
@Pwd       varchar(20),   
@Name1       varchar(20)   output
AS   
set @Name1='basdfa'
return @Name1

解决方案 »

  1.   

    你要定义一个参数 并让他作为返回值的. 如@Name1   varchar(20) output 有output才能把他作为值给返回
      

  2.   

    Set               @temp1='SELECT       @strOUT = id       FROM       '       +       @Name1       +       '       Where       Name       =       '''+@Name2+'''       and       Pwd=       '''+@Pwd+''''  
    Exec sp_executesql @temp1,N'@strOUT varchar(300) OUTPUT', @strOUT = @valstr out;
    print @valstr
      

  3.   

    ALTER       PROCEDURE       [dbo].[SelectUser]    
    @Name2       varchar(20),
    @Pwd       varchar(20),
    @Name1       varchar(20),
    @valstr       varchar(300)   output
    AS
    Declare               @temp1               varchar(500)  
    Set                               @temp1='SELECT               @strOUT   =   id               FROM               '               +               @Name1               +               '               Where               Name               =               '''+@Name2+'''               and               Pwd=               '''+@Pwd+''''    
    Exec   sp_executesql   @temp1,N'@strOUT   varchar(300)   OUTPUT',   @strOUT   =   @valstr   out;
    print   @valstr
    return   0;