今天,有个网友问起: 使用ExecuteReader方式执行的存储过程,存储过程既返回了查询结果,又有输出参数和返回值,但是返回值和输出结果总是取不到 其实这个问题,微软本身就给出了解释,MSDN上有明确的说明,我直接贴出来了: Command 对象公开了几个可用于执行所需操作的 Execute 方法。当以数据流的形式返回结果时,使用 ExecuteReader 可返回 DataReader 对象。使用 ExecuteScalar 可返回单个值。使用 ExecuteNonQuery 可执行不返回行的命令。 当您将 Command 对象用于存储过程时,可以将 Command 对象的 CommandType 属性设置为 StoredProcedure。当 CommandType 为 StoredProcedure 时,可以使用 Command 的 Parameters 属性来访问输入及输出参数和返回值。无论调用哪一个 Execute 方法,都可以访问 Parameters 属性。但是,当调用 ExecuteReader 时,在 DataReader 关闭之前,将无法访问返回值和输出参数。 上面说的,应该是很清楚了吧,呵呵
|
请发表评论