Soy nuevo en la escritura del procedimiento almacenado. Así que escribí uno con parámetros de salida y quiero acceder al valor de salida, caliente para hacerlo.Cómo utilizar el parámetro OUTPUT en el procedimiento almacenado
Mi procedimiento almacenado:
ALTER PROCEDURE selQuery
(
@id int, @code varchar(50) OUTPUT
)
AS
SELECT RecItemCode = @code, RecUsername from Receipt where RecTransaction = @id
RETURN @code
Si está tratando de establecer "código @ = RecItemCode" conseguir el error como: "Una instrucción SELECT que asigna un valor a una variable no debe combinarse con las operaciones de recuperación de datos"
Y estoy usando el procedimiento almacenado como:
con.Open();
cmd.Parameters.AddWithValue("@id", textBox1.Text);
SqlParameter code = new SqlParameter("@code", SqlDbType.Int);
code.Direction = ParameterDirection.Output;
cmd.Parameters.Add(code);
SqlDataReader sdr = cmd.ExecuteReader();
MessageBox.Show(cmd.Parameters["@code"].Value.ToString()); // getting error
con.Close();
de error: "Referencia a objeto no establecida como instancia de un objeto." Quiero obtener el valor del parámetro de salida. ¿Cómo conseguir eso?
Gracias.
gracias anthony, ayudó mucho ... muchas gracias – Sandy
Gracias y +1. 'object obj = cmd.ExecuteScalar();' funcionó perfectamente Pude lograr lo que necesitaba en dos líneas de código C#, siendo el segundo 'myString = obj.ToString();'. – FumblesWithCode