存储过程的output参数怎么拿啊????

piero_csa 2005-04-01 08:22:18
_CommandPtr cmd;
cmd.CreateInstance("ADODB.Command");
//id号
cmd->ActiveConnection = piConnection;
cmd->CommandText="SelUser"; //存储过程的名字
_ParameterPtr pParamRk;
pParamRk.CreateInstance("ADODB.Parameter");
pParamRk=cmd->CreateParameter("xxx",adVarChar,adParamInput,12,"'fff'");
cmd->Parameters->Append(pParamRk);
//返回值
_ParameterPtr pParamOk;
pParamOk.CreateInstance("ADODB.Parameter");
pParamOk=cmd->CreateParameter("vvv",adVarChar,adParamOutput,20,"");
cmd->Parameters->Append(pParamOk);

//执行,获得结果
try
{
cmd->Execute(NULL, NULL, adCmdStoredProc);
}
catch (CException *e)
{
return "";
}

//将值返回
return (char*)_bstr_t (cmd->Parameters->GetItem("vvv")->Value);

老是在return的时候出错!谢谢!


下面是存储过程!

CREATE PROCEDURE SelUser @xxx varchar(12),
@vvv varchar(20) OUTPUT
AS
select @vvv=nickname from oftenuse where userid=@xxx
print @vvv
return @vvv
GO
...全文
205 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
某鸟 2005-04-05
  • 打赏
  • 举报
回复
你这算不算是返回局部变量的指针啊?
某鸟 2005-04-05
  • 打赏
  • 举报
回复
1。会不会变成野指针了啊?
2。确定vvv不是空?

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧