这个函数  是执行存储过程的      
 public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected)
        {
            using (SqlConnection connection = new SqlConnection(strCon))
            {
                int result;
                connection.Open();
                SqlCommand command = BuildIntCommand(connection, storedProcName, parameters);
                rowsAffected = command.ExecuteNonQuery();
                result = (int)command.Parameters["ReturnValue"].Value;
                connection.Close();
                return result;
            }
        }其中 command.Parameters["ReturnValue"].Value; 是不是得到存储过程放回参数ReturnValue 的值的意思????

解决方案 »

  1.   

    sp 中
     return int 值
      

  2.   

    没有返回值
    public static int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected) 
            { 
    int result=0; 
                using (SqlConnection connection = new SqlConnection(strCon)) 
                { 
                    
                    connection.Open(); 
                    SqlCommand command = BuildIntCommand(connection, storedProcName, parameters); 
                    rowsAffected = command.ExecuteNonQuery(); 
                    result = (int)command.Parameters["ReturnValue"].Value; 
                    connection.Close(); 
                    
                } 
    return result; 
            } 
      

  3.   

    存储过程执行后将执行结果返回有三种:一是out参数,一是return,另外是ref
    可以在存储过程执行的过程中的任何时候来一句return ...;这样存储过程就不在往下执行直接返回结果.out用于修饰存储过程执行有定义的某个参数,这个参数一旦被out修饰再可用于返回存储过程执行的结果,这时,只要把要返回的结果赋值给这个参数,即可在客户端用特定方法取得结果.ref类似out,只不过是到地址进行操作.