当使用DataReader
对象通过存储过程从数据库(例如SQL Server)访问数据时,在执行之前添加到Command对象的任何输出参数在读取后都不会被填充.我可以很好地读取行数据,以及所有输入参数,但不能读取输出参数.
这是由于DataReaders的"按设计"性质.标记为的任何参数ParameterDirection.Output
在DataReader关闭之前都不会被"填充".虽然仍处于打开状态,但所有输出参数很可能只会回来null
.
有关此内容的完整Microsoft KB文章可在此处查看.