我有一个存储过程返回一个结果集,后面跟着一个计数(*)。这是一个移植到 MS SQL 2012 的 Sybase 存储过程。
例如,它确实...
select @resn=resn from borrower_reservations where <conditions>
select count(*) from borrower_reservations where <conditions>
@resn 被定义为 int out 参数。
我一直无法弄清楚如何在 C++ 中使用 SqlCommand::Execute() 获得这两个结果。
我知道 ExecuteNonQuery() 将填充参数,并且 ExecuteScalar() 最适合包括 count(*) 在内的单个值。
ExecuteReader() 似乎不起作用,因为 HasRows 测试返回 false。
处理这种类型的存储过程是否可行,还是必须重写存储过程?