Stored procedure returns null as output parameter
SqlCommand cmd = new SqlCommand("proc_name", conn);cmd.CommandType = CommandType.StoredProcedure;cmd.Parameters.Add(new SqlParameter("@p_SomeVal", SqlDbType.Int));cmd.Parameters["@p_SomeVal"].Direction = ParameterDirection.Output;rdr = cmd.ExecuteReader();//...process rows...rdr.Close();if (cmd.Parameters["@p_SomeVal"].Value != null)SomeVal = (int)cmd.Parameters["@p_SomeVal"].Value;
After procesing rows I added rdr.Close();
and worked fine.
Salaam,You can check if output is null and convert like this.
returnedSQLParameter.Value != DBNull.Value? (int)returnedSQLParameter.Value : 0;
Because it is returning DBNull.value
when output sent NULL
from stored procedure.