环境 数据库是 sql server2000 ,应用程序是asp.net(C#)
存储过程代码如下:
CREATE   procedure proc_name
    @a_id    int , /*输入参数 id*/
    @a_name varchar(50) output /*输出参数名称*/
asbegin      --获得名称
     --从用户表(users )中 选择  用户AID为@a_aid  的COME_IN字段
    select @a_name = COME_IN from users where AID =  @a_aid    
end
GO为什么 a_name的返回值为空呢?

解决方案 »

  1.   

     
    declare @name varchar(20)exec proc_name 0.15,@name OUTselect @name 看是否有值
    如果没有,那么说明你的users 就没有值
    所以返回为空
      

  2.   

    declare @name varchar(20) exec proc_name 1,@name OUT --1为id 号select @name 看是否有值 
      

  3.   


    CREATE  procedure proc_name 
        @a_id    int , /*输入参数 id*/ 
        @a_name varchar(50) output /*输出参数名称*/ 
    as begin      --获得名称 
        --从用户表(users )中 选择  用户AID为@a_aid  的COME_IN字段 
        select @a_name = COME_IN from users where AID =  @a_aid        select @a_nameend 
      

  4.   


    可以按照一楼的。看能否取到值`
    如果取到了。说明程序里写的有问题。没有取到只能说明没这条aid的数据
      

  5.   

    CREATE  procedure proc_name 
        @a_id    int , /*输入参数 id*/ 
        @a_name varchar(50) output /*输出参数名称*/ 
    as begin      --获得名称 
        --从用户表(users )中 选择  用户AID为@a_aid  的COME_IN字段 
        select @a_name = isnull(COME_IN,'') from users where AID =  @a_aid  -- 加上是否为空的判断.
    end 
    GO 
      

  6.   

    CREATE  procedure proc_name 
        @a_id    int , /*输入参数 id*/ 
        @a_name varchar(50) output /*输出参数名称*/ 
    as begin      --获得名称 
        --从用户表(users )中 选择  用户AID为@a_aid  的COME_IN字段 
        select @a_name = isnull(COME_IN,'') from users where AID =  @a_aid  -- 加上是否为空的判断.
    end 
    GO 
      

  7.   

      select @a_name = isnull(COME_IN,'') from users where AID =  @a_aid  -- 加上是否为空的判断. 
      

  8.   

    或者楼主可以使用print直接打印出结果