Estoy tratando de obtener el valor de salida de DB a través de ADO.net. Hay un código de cliente:Ado.net - la propiedad Tamaño tiene un tamaño no válido de 0
using (var connection = new SqlConnection(ConnectionString))
{
connection.Open();
SqlCommand command = new SqlCommand("pDoSomethingParamsRes", connection);
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("@i", 1);
var outParam = new SqlParameter("@out", SqlDbType.VarChar);
outParam.Direction = ParameterDirection.Output;
command.Parameters.Add(outParam);
command.ExecuteNonQuery();
Console.WriteLine(command.Parameters["@out"].Value.ToString());
}
Cuando ejecuto esto me da la siguiente excepción:
the Size property has an invalid size of 0
Según el manual SqlParameter.Size Property podría omitir tamaño. ¿Por qué obtengo esta excepción? ¿Cómo hacer que funcione sin pasar el tamaño?
¡Gracias por tu ayuda!
¿Por qué se quiere evitar el establecimiento de la propiedad Tamaño ... –