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.
OUTPUT parameters are the most efficient way to retrieve a single row from a Stored Procedure
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