存储过程(oracle):
  create or replace procedure test ( prm_in in varchar2,prm_out out varchar2)
  begin
prm_out := 'abcde';
  end test ;vc++程序片段:
  import 'C:\Program Files\Common Files\System\ado\msado15.dll' no_namespace rename ("EOF","adoEOF")  ......  _CommandPtr pComm ;
  pComm.CreateInstance(__uuidof(Command));
  pComm->ActiveConnection = ....;
  pComm->CommandType = adComStoredProc ; //绑定参数
  _variant_t var_out ;
  pComm->Parameters->Append
  ( 
     pComm->CreateParameter
(
_bstr_t ("paramIn"),
adDBVarchar ,
adParamInput,
_variant_t(_bstr_t(L"test"))
)
  );  
  pComm->Parameters->Append
  ( 
     pComm->CreateParameter
(
_bstr_t ("paramOut"),
adDBVarchar ,
adParamOutput,
varOut;
)
  );//执行命令
  _variant_t vtNull;
  vtNull.vt = VT_ERROR;
  vtNull.scode = DISP_E_PARAMNOTFOUND ;
  
  _RecordsetPtr pRS;
  pRS = pComm->Execute( &vtNull,&vtNull,adComUnknown ); 
  
//后台存储过程能成功调用,并且输入参数正确输入,但执行命令后在VC++程序中的varOut 没  有改变