请问一下如果用微软的SqlHelper类,不用输出参数能不能得到在存储过程中用return 返回的值呢?
如果能请给个例子,小弟谢了

解决方案 »

  1.   

    比如说在存储过程中用return 'ok'这样的语句返回一个字符串
      

  2.   

    微软没有SqlHelper类,是你自已写的吧!!
      

  3.   

    public static object ExecuteScalar(..)
    这是他的静态方法返回的是个object对象 你可以根据自己的需要来 转换类型
    如 string strReturn = (string)SqlHelper.ExecuteScalar(..);
    就这么简单
      

  4.   

    Create PROCEDURE dbo.StoredProcedure1
    @parameter2 varchar(255)='' OUTPUT
    AS
    set @parameter2 = 'ok'使用output类型
      

  5.   

    或者return 911;
    if(parameters[n].value==911)
    {
        //then 'ok'
    }
      

  6.   

    晕啊,这都不是我想要的,麻烦看清题目
    SqlHelper.ExecuteScalar返回的只能是select语句的结果,我想要Retrun 'ok'返回的结果
    而且不用输出参数,即output型参数
      

  7.   

    return 返回的是整型值,返回不了 ‘ok’
      

  8.   

    SqlCommand sampleCMD = new SqlCommand("SampleProc", nwindConn);
    sampleCMD.CommandType = CommandType.StoredProcedure;SqlParameter sampParm = sampleCMD.Parameters.Add("RETURN_VALUE", SqlDbType.Int);
    sampParm.Direction = ParameterDirection.ReturnValue;sampParm = sampleCMD.Parameters.Add("@InputParm", SqlDbType.NVarChar, 12);
    sampParm.Value = "Sample Value";sampParm = sampleCMD.Parameters.Add("@OutputParm", SqlDbType.NVarChar, 28);
    sampParm.Direction = ParameterDirection.Output;nwindConn.Open();SqlDataReader sampReader = sampleCMD.ExecuteReader();Console.WriteLine("{0}, {1}", sampReader.GetName(0), sampReader.GetName(1));while (sampReader.Read())
    {
      Console.WriteLine("{0}, {1}", sampReader.GetInt32(0), sampReader.GetString(1));
    }sampReader.Close();
    nwindConn.Close();Console.WriteLine(" @OutputParm: {0}", sampleCMD.Parameters["@OutputParm"].Value);
    Console.WriteLine("RETURN_VALUE: {0}", sampleCMD.Parameters["RETURN_VALUE"].Value);
      

  9.   

    如果不用select,那么只有用输出参数这一种方法。不要妄想不存在的东西了……
      

  10.   

    呵呵,楼上已经说得很清楚了^^^^
    如果不用select,那么只有用输出参数这一种方法。不要妄想不存在的东西了……再说了,return "ok",
    你只要加一句,Declare @Result = 'ok',Select @Result 
    不就是你要的结果了??