请问:如何用ADO执行存储过程并返回OUTPUT值及记录集

asoftcn 2005-03-22 05:35:48
CAdoCommand m_adoCommand;
m_adoCommand.SetConnection(&m_adoConnection);
m_adoCommand.SetCommandType(adCmdStoredProc);
m_adoCommand.SetCommandText("PROC_USER_CHECKUSERA");
_ParameterPtr param;
//////////////////////////////////////////////////////
param =m_adoCommand.CreateParameter("UserCode",adBigInt, adParamInput,sizeof(long),_variant_t("100000"));

m_adoCommand.Append(param);
param=m_adoCommand.CreateParameter("IsPass",adBigInt, adParamOutput, sizeof(long),(long)(0));
m_adoCommand.Append(param);

CAdoRecordSet m_adoRecordSet
m_adoRecordSet = m_adoCommand.Execute(adCmdStoredProc);
long b=(long)m_adoCommand.GetParameters()->GetItem("IsPass")->GetValue();

结果m_adoRecordSet 记录集能得到但IsPass返回值b得不到,如果将执行语句改成:
m_adoCommand.Execute(adCmdStoredProc); 直接执行,那么IsPass返回值b就能正确的得到
请问各高手,这是什么问题如何处理!

...全文
107 点赞 收藏 4
写回复
4 条回复
hydra2004 2005年05月26日
先关闭记录集,就可以取到output参数了
回复 点赞
wxp 2005年04月19日
我有用VC2003条通的例子,但你的信誉太低,能保证给分吗?
回复 点赞
asoftcn 2005年03月23日
帮助三!
回复 点赞
发动态
发帖子
数据库
创建于2007-09-28

3444

社区成员

3.9w+

社区内容

VC/MFC 数据库
社区公告
暂无公告