Параметры вывода не читаются при использовании с DataReader

При использовании объекта DataReader для доступа к данным из базы данных (например, SQL Server) с помощью хранимых процедур любой выходной параметр, добавленный в объект Command перед выполнением, не заполняется после прочтения. Я могу просто читать данные строк, а также все входные параметры, но не выводить их.

Ответ 1

Это связано с "по дизайну" характера DataReaders. Любые параметры, отмеченные как ParameterDirection.Output, не будут заполнены до тех пор, пока DataReader не будет закрыт. Пока все еще открыты, все выходные параметры, скорее всего, вернутся null.

Полную статью Microsoft KB об этом можно просмотреть здесь.