SqlCommand cmd = new SqlCommand("NParamSP", conn );
cmd.CommandType = CommandType.StoredProcedure;SqlParameter paramRet = cmd.Parameters.Add("@ProductExists", SqlDbType.Int );
paramRet.Value= ParameterDirection.ReturnValue;  try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch
{
throw;
}
finally
{
conn.Close()

 int getret=(int)paramRet.Value }未经验证

解决方案 »

  1.   

    变量=com.ExecuteScalar();就可以了吧
      

  2.   

    经测试,OKCreate  Proc sp_Test
    as 
      declare @RetrueValue int
      set @RetrueValue=(select Count(*) from employee)
      Return @RetrueValueusing System;
    using System.Data;
    using System.Data.SqlClient;namespace Test
    {
    class Class1
    {
    [STAThread]
    static void Main(string[] args)
    { int intReturnValue;
    string cnstring ="server=.;database=pubs;uid=sa;pwd=";
    SqlConnection cn =new SqlConnection(cnstring);
    SqlCommand cmd =new SqlCommand("sp_test",cn);
    cmd.CommandType= CommandType.StoredProcedure ; SqlParameter sqlpar=new SqlParameter("@RetrueValue",SqlDbType.Int);
    sqlpar.Direction= ParameterDirection.ReturnValue;
    cmd.Parameters.Add(sqlpar);

    try
    {
    cn.Open();
    intReturnValue=cmd.ExecuteNonQuery();
    Console.WriteLine("Store Procedure Retrues Value: {0}",sqlpar.Value);  //Store Procedure Retrues Value
    Console.ReadLine();
    }
    catch(System.Exception ex)
    {
    Console.WriteLine(ex.Message );
    Console.ReadLine();
    }
    finally
    {
    cn.Close();
    }
    }
    }
    }