我想把这个结果放入一个内存区,想根据记录数来申请内存的大小.
我不知道如何得知结果集的记录数,就在存储过程里定义了一个输出参数,
在存储过程的最后,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就正确!可是这时没有了结果集了.我还要结果集!
难道结果集和返回值只能有一个吗?
怎么办?
............
我不知道如何得知结果集的记录数,就在存储过程里定义了一个输出参数,
在存储过程的最后,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就正确!可是这时没有了结果集了.我还要结果集!
难道结果集和返回值只能有一个吗?
怎么办?
............
解决方案 »
- 请问哪有图象处理的教学视频??谢谢
- 我用VC作了一个DLL,里面封装了一些功能函数,现在在其它工具编写的程序中调用,出现头两次调用该包中的函数正常,第三次再调用时提示系
- 有关ActiveX的问题,请高手指点(在线等,急.........)
- 怪事,CString的Format函数出错,请帮忙看看!
- 谁能给我提供解以下方程组的算法?
- 请教:msdn 中"COM Tutorial Sample"的例子在哪里啊?
- Access数据库怎么这么多问题
- kernel32.dll 出错是为什么呢?
- 显示器突然黑屏,硬盘指示灯闪烁不停,重新开机后,计算机无法启动
- 请教高手 如何把视频质量诊断的结果量化到(0,1)?
- 关于ADO连接SQL server的依赖性问题~~
- 小问题请教高手
m_pConnection->CursorLocation = adUseClient;
把上面这一句写在你发出来的代码的最上面。。