我想把这个结果放入一个内存区,想根据记录数来申请内存的大小.
我不知道如何得知结果集的记录数,就在存储过程里定义了一个输出参数,
在存储过程的最后,set @RecordCount=@@rowcount.
经过查询分析器的测试,存储过程返回了正确的@@rowcount. 但是在vc中,返回的这个值总是0.!!!下面是我的代码.大家看看. _pCommand->ActiveConnection=m_pConnection; 
_pCommand->CommandType=adCmdStoredProc;
_pCommand->CommandText=_bstr_t("SP_1234"); _vtIndex.Clear();  _vtIndex = (long)0;
_pOutParam = _pCommand->CreateParameter("@RecordCount", adInteger,   adParamOutput, sizeof(long), _vtIndex);
_pCommand->Parameters->Append(_pOutParam); _pRst=_pCommand->Execute(NULL,NULL,adCmdStoredProc);
recordcount=atoi((LPCSTR)(_bstr_t)_pOutParam->GetValue());
结果recordcount=0.正确的值不是0.用sql事件探查器看得出返回了4.
如果把最后2句改为
_pCommand->Execute(NULL,NULL,adCmdStoredProc);//去除了结果集赋值.
recordcount=atoi((LPCSTR)(_bstr_t)_pOutParam->GetValue());
这是recordcount就正确!可是这时没有了结果集了.我还要结果集!
难道结果集和返回值只能有一个吗?
怎么办?
............