日期:2014-05-16  浏览次数:20504 次

存储过程获取RecordSet的RecordCount为-1
使用ado直接执行sql,可以通过RecordSet的RecordCount获取结果集的数据量。但是如果是执行存储过程,就无法通过RecordCount来获取数据量信息,需要设置连接对象的CursorLocation为CursorLocationEnum::adUseClient,将结果集中所有数据存储到本地才能获取结果集数据量。但是这样导致本地内存占用很大,所以换一个思路,直接在存储过程中用输出参数获取结果集数据量。既增加输出参数@count,在存储过程值设置@count=@@ROWCOUNT。