vc++(ADO)调用存储过程
我想要调用的存储过程接受一个输出参数,在存储过程中给它赋值,然后返回给调用者--VC程序.
在VC程序中,我已经正确声明参数为Output方向的参数 , 在存储过程中也正确的申明参数为 out 型,但就算调用存储过程成功参数值还是没体现变化,莫非还要声明为传地址 ?????????????????????
请高手赐教
问题点数:20、回复次数:7Top
1 楼daryl715(上善若水)回复于 2002-02-02 22:59:50 得分 7
关注中Top
2 楼dgzdx(VCADO)回复于 2002-02-02 23:15:14 得分 6
看看Top
3 楼mahaoII()回复于 2002-02-04 09:38:47 得分 0
存储过程(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 没 有改变Top
4 楼mahaoII()回复于 2002-02-04 09:44:34 得分 0
请几位朋友留心看看有什么问题,谢谢!Top
5 楼mahaoII()回复于 2002-02-05 13:28:49 得分 0
是var_out,varOut是打字时的手误Top




