网页运行后,提示“未将对象引用设置到对象的实例”,我认为问题出现在返回值的写法的问题上。 
请问我要返回re的值,该如何改? 

create procedure mypro
as
declare re intset @re = (select neededid from mytable2 where mytable2.intid=1)return @re                               //关键go            cmd = new SqlCommand("mypro",conns);
            cmd.CommandType = CommandType.StoredProcedure;            conns.Open();
            try
            {
                return int.Parse((cmd.ExecuteScalar().ToString()));
            }

解决方案 »

  1.   

    难道string也不行?
    是不是只能返回int,而且只能是一个值?
      

  2.   


    LZ 写的什么乱七八糟的 
    从 存储过程到C# CODE 
    都写的很烂
    先说你的C# CODE 你都没有 传递一个 @ret 参数进去如何获取来着
     ExecuteScalar 是返回 通过SMSS 直接显示的
    select neededid from mytable2 where mytable2.intid=1 直接写 才用ExecuteScalar 
    有了返回值 就就不这样写了 
    应该是 SqlParameter parm=new SqlParameter ()...
    然后 指定他的 ParamDirection 为 ReturnValue
      

  3.   

    T -SQL 
    create procedure mypro
    as
    declare re intset @re = (select neededid from mytable2 where mytable2.intid=1)return @re                               //关键go
    这样写 也很烂select @re=neededid from mytable2 where mytable2.intid=1
    然后再
    return @re
      

  4.   


    declare re intdeclare @re int
      

  5.   

    create procedure mypro
    @ret int output--这是带出的变量
    as
    declare @re int set @re = (select neededid from mytable2 where mytable2.intid=1)SET @ret=@ret                         go
    EXEC mypro 0--调用示例,程序中给@ret个默认值(比如0)就可以了,执行完毕后,@ret就是你要的结果
      

  6.   

    存储过程:
    create procedure mypro
    as
    declare @re int outputset @re = (select neededid from mytable2 where mytable2.intid=1)return @re                               //关键goc#代码
                cmd = new SqlCommand("mypro",conns);
                cmd.CommandType = CommandType.StoredProcedure;
               
                SqlParameter re=comm.Parameters.Add("@re",SqlDbType.Int);
                  re.Direction = ParameterDirection.Output;                         conns.Open();
                try
                {
                    cmd.ExecuteScalar().ToString();
                    return int.Parse(re.Value);
                }
    不知道可行不。
      

  7.   

    存储过程 return?只有function可以return吧存储过程的返回值  用 output 不就行了么