与DataReader一起使用时,输出参数不可读

Sea*_*ley 10 .net parameters ado.net stored-procedures datareader

当使用DataReader对象通过存储过程从数据库(例如SQL Server)访问数据时,在执行之前添加到Command对象的任何输出参数在读取后都不会被填充.我可以很好地读取行数据,以及所有输入参数,但不能读取输出参数.

Sea*_*ley 16

这是由于DataReaders的"按设计"性质.标记为的任何参数ParameterDirection.Output在DataReader关闭之前都不会被"填充".虽然仍处于打开状态,但所有输出参数很可能只会回来null.

有关此内容的完整Microsoft KB文章可在此处查看.