parm = new SqlParameter("@ReturnID", SqlDbType.UniqueIdentifier )
...
object obj = parm.Value  //这个 Value 是个 object 类型,我怎么获得他的内容(转换到 string类型)??

解决方案 »

  1.   

    object obj = parm.Value;string str=obj.ToString();
    或者
    string str=Convert.ToString(obj);
      

  2.   

    先谢谢  chenyuming2004(这辈子我算是废了)  和 singlepine(小山) 不过原先我就是这样做的,得到的是空字符串(并且存储过程确实已经执行了)。
    然后我在 SQL查询分析器里调用那个存储过程,也有返回值。
    ------------------------------------------------------
    代码:
    // 初始化参数
    SqlParameter [] arParms = new SqlParameter[3];
    arParms[0] = new SqlParameter("@ActId", SqlDbType.UniqueIdentifier ); 
    arParms[0].Value = System.DBNull.Value;
    arParms[1] = new SqlParameter("@UserId", SqlDbType.NVarChar ); 
    arParms[1].Value = UserID;
    arParms[2] = new SqlParameter("@ReturnActId", SqlDbType.UniqueIdentifier );SqlHelper.ExecuteNonQuery(Connection,CommandType.StoredProcedure, "cp_XXX", arParms);
    object obj = arParms[2].Value;
    return Convert.ToString(obj);
    不知道问题究竟在哪里。
      

  3.   

    arParms[2] = new SqlParameter("@ReturnActId", SqlDbType.UniqueIdentifier );
    arParms[2].Direction = ParameterDirection.Output;//加上此句指明是一个输出参数
      

  4.   

    应该是 clxxj(ChenSir之.Net外传) 说的
    要指明是输出参数