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