procedure getNew
(
@id int,
@revalue varchar(400)
)asselect @revalue=content from news where id=@id
return @revalue
 SqlConnection conn=new SqlConnection(ConfigurationManager.AppSettings["Connstr"]);
               SqlCommand cmd = new SqlCommand("getNew", conn);
               cmd.CommandType = CommandType.StoredProcedure;
               SqlParameter parContent = new SqlParameter("revalue", SqlDbType.VarChar, 400);
               parContent.Direction = ParameterDirection.ReturnValue;
               cmd.Parameters.Add(parContent);
               SqlParameter parID = new SqlParameter("@id", SqlDbType.Int);
               parID.Value = strID;
               cmd.Parameters.Add(parID);
               conn.Open();
               cmd.ExecuteNonQuery();
               string strContent = parContent.Value.ToString();
               conn.Close();哪里错了哈。。获取content字段值!

解决方案 »

  1.   

    return 只能是整型的.获取字符, 查查output的用法.
      

  2.   

    一般我是不会在存储过程中用return语句来返回结果的在DBMS里,return语句一般是用在 用户函数中,当然,这是我的看法
    楼主不防试下下面的代码:
    procedure getNew 

    @id int, 
    @revalue varchar(400)  output
    ) as select @revalue=content from news where id=@id 
    ///
    cmd.Parameters["parContent"].Value.ToString(); 
      

  3.   

    return 只能返回整型数据,还是使用输出参数吧