_CommandPtr pCmd;
_ParameterPtr pParamIn;CString num=0;
for(int i =0;i ++;i<20)
{   num.Format("%d",i); // num 是每次存储过程的传入参数
  
   pCmd.CreateInstance(__uuidof(Command));
   pParamIn.CreateInstance(__uuidof(Parameter));   pParamIn_1->Name="UserNumber";
   pParamIn_1->Type=adChar;
   pParamIn_1->Size=20;
   pParamIn_1->Direction=adParamInput;
   pParamIn_1->Value=_variant_t(strInputValue);
   pCmd->Parameters->Append(pParamIn_1);   pCmd->ActiveConnection=g_myCon;
   pCmd->CommandText="UpdateDB";
   pCmd->CommandType=adCmdStoredProc;   // 这样执行,只能执行1次,第二次执行就出错了,为什么呢?
   // 我的存储过程的入口参数就是一个输入参数   pCmd->Execute(NULL,NULL,adCmdStoredProc);
}存储过程如下:
create or replace procedure UpdateDB ( UserNumber  varchar2)       as   begin update submit_Tbl08 set GWERRORCODE=93 where USERNUMBER = ParamUserNumber;  commit;end ;

解决方案 »

  1.   

    _ParameterPtr pParamIn;
    写错了,应该是_ParameterPtr pParamIn_1;大家提意见啊。
      

  2.   

    pCmd.CreateInstance(__uuidof(Command));
       pParamIn.CreateInstance(__uuidof(Parameter));   pParamIn_1->Name="UserNumber";
       pParamIn_1->Type=adChar;
       pParamIn_1->Size=20;
       pParamIn_1->Direction=adParamInput;
       pParamIn_1->Value=_variant_t(strInputValue);
       pCmd->Parameters->Append(pParamIn_1);   pCmd->ActiveConnection=g_myCon;
       pCmd->CommandText="UpdateDB";
       pCmd->CommandType=adCmdStoredProc;   // 这样执行,只能执行1次,第二次执行就出错了,为什么呢?
       // 我的存储过程的入口参数就是一个输入参数   pCmd->Execute(NULL,NULL,adCmdStoredProc);
       pParamIn_1=NULL;
       pCmd=NULL;
      

  3.   

    zfive5(醉马不肖)
    -----------------
    不行啊,在添加了:  pParamIn_1=NULL;
       pCmd=NULL;到末尾以后,
    循环只能执行一次,执行到第二次,在pCmd->Parameters->Append(pParamIn_1);就产生异常,程序执行不下去而退出了。
      

  4.   

    每次循环之后加
    pCmd->Parameters->Delete(pParamIn_1)