在开发过程中遇到一个问题,就是用reader获取数据后无法再获取对应输出参数的值,经求证有两种办法可以解决
第一种:
SqlDataReader rdr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
先调用SqlDataReader的Close方法后,就可以获取到输出参数的值。
第二种:
在获取完数据后调用一次 SqlCommand的ExecuteNonQuery()。(reader.NextResult();)也可以再调用获取语句获取到输出参数。
因为其首先返回的是查询的结果集(可能有若干),你只需要读取下一个结果就可以了,这里的下一个是指当你的存储过程中不止一个返回的结果,当返回最后一个查询结果之后的下一个结果集,使用NextResult就可以获得输出参数了。
解决SQL输出参数获取问题
本文介绍了在使用SqlDataReader获取数据后无法直接获取输出参数值的问题,并提供了两种解决方案:一是通过Close方法关闭SqlDataReader;二是使用ExecuteNonQuery()方法或reader.NextResult()来获取输出参数。
5665

被折叠的 条评论
为什么被折叠?



