使用ExecuteReader返回DataReader既有查询结果集又有输出参数和返回值的使用注意事项

使用ExecuteReader方式执行的存储过程,存储过程既返回了查询结果,又有输出参数和返回值,但是返回值和输出结果总是取不到 其实这个问题,微软本身就给出了解释,MSDN上有明确的说明,我直接贴出来了: Command 对象公开了几个可用于执行所需操作的 Execute 方法。当以数据流的形式返回结果时,使用 ExecuteReader 可返回 DataReader 对象。使用 ExecuteScalar 可返回单个值。使用 ExecuteNonQuery 可执行不返回行的命令。 当您将 Command 对象用于存储过程时,可以将 Command 对象的 CommandType 属性设置为 StoredProcedure。当 CommandType 为 StoredProcedure 时,可以使用 Command 的 Parameters 属性来访问输入及输出参数和返回值。无论调用哪一个 Execute 方法,都可以访问 Parameters 属性。但是,当调用 ExecuteReader 时,在 DataReader 关闭之前,将无法访问返回值和输出参数。
原文地址:https://www.cnblogs.com/cnaspnet/p/1601782.html