In this article I will explain the sometimes surprising behavior of the ADO.Net
SqlParameter and particularly the effects of
ParameterDirection, null value and DBNull.Value on how the parameter is sent to the database.
T-SQL stored procedures that return a single a value (scalar) or a single row can benefit from the use of OUTPUT parameters. This is not appropriate for multiple row result sets, but if you just need one value, or the results of a single row, you can do it most efficiently with OUTPUT parameters as opposed to SELECTing into a DataReader or DataSet. Continue reading