1、在SYSBASE中有如下存储过程CREATE PROCEDURE dbo.sp_test 
(@ym integer)
AS 
BEGIN 
   insert into table values(str(@ym))
   return @ym
END2、在VC中调用如下
pComm.CreateInstance("ADODB.Command");
pParamRn.CreateInstance("ADODB.Parameter");
pParamIn.CreateInstance("ADODB.Parameter");pComm.CreateInstance("ADODB.Command");
pParamRn.CreateInstance("ADODB.Parameter");
pParamIn.CreateInstance("ADODB.Parameter");pComm->ActiveConnection=m_pConn;
pComm->CommandType=adCmdStoredProc;VARIANT inInt;
inInt.vt=VT_I2;
inInt.iVal=100;pComm->CommandText="sp_test";
pParamIn=pComm->CreateParameter("@ym",adInteger,adParamInput,2,inInt);
pComm->Parameters->Append(pParamIn);
pParamIn->Value=inInt;
pParamRn=pCommCompute->CreateParameter("rn",adInteger,adParamReturnValue,0);
pComme->Parameters->Append(pParamRn);

pComm->Execute(&vNULL,&vNULL,adCmdStoredProc);
int i=pParamRnCompute->Value.iVal;3、问题是:
执行结果是表table中插入的是“-1”而非“100”
还回值i=-4083,而非100.请高手解答!