我前台输入一个存储结构中变量的值,如何用ado调用这个存储结构?具体如何操作啊,有没有什么实例啊,谢谢各位啦。

解决方案 »

  1.   

    使用vc+ado访问sql的存储过程吧

    //建立数据库连接
    try
    {
    //建立command
    _CommandPtr pCommand;
    HRESULT hRst=pCommand.CreateInstance( /*_T("ADODB.Command")*/
    __uuidof(Command) ); 
    if( !SUCCEEDED( hRst ) )
    {
    return sName;
    }
    pCommand->ActiveConnection=g_pConnPtr;
    pCommand->CommandText=_bstr_t(_T("GetHostPCName")); //添加输入/输出参数
    _ParameterPtr pParaIn=NULL,pParaOut=NULL;
    pParaIn.CreateInstance( __uuidof(Parameter) );
    pParaOut.CreateInstance( __uuidof(Parameter) );
    pParaOut=pCommand->CreateParameter( _bstr_t(_T("OutVar1")),
    adChar,adParamOutput,200,vtNull );
    // adParamReturnValue返回int数值;adParamOutput返回一切类型数值
    pCommand->Parameters->Append(pParaOut); //得到结果
    pCommand->Execute( &vtNull,&vtNull,adCmdStoredProc );
    _variant_t vtItem;
    vtItem.SetString(_T("OutVar1"));
    sName=pCommand->Parameters->GetItem(vtItem)->GetValue().bstrVal;
    sName.TrimLeft();
    sName.TrimRight();
    }
    catch(_com_error e)

    GlobalProc::DispAdoError(e); return sName;
    }
      

  2.   

    我是调用一个PROC_PREPAREBILLSDATA(c_fundid      in varchar2,
                                                      c_fundacctid  in varchar2, 
                                                      c_custfname   in varchar2, 
                                                      c_custtype    in varchar2, 
                                                      d_startdate   in varchar2, 
                                                      d_enddate     in varchar2, 
                                                      c_startshares in varchar2,
                                                      c_endshares   in varchar2, 
                                                      c_result      out char,                                             c_resultmsg   out varchar2
                                                      
                                                      ) as
    具体该怎么改啊,我是连接本地的oracle数据库,那些在那里修改啊(ip地址啊,用户名,密码啊)