_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 ;
_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 ;
写错了,应该是_ParameterPtr pParamIn_1;大家提意见啊。
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;
-----------------
不行啊,在添加了: pParamIn_1=NULL;
pCmd=NULL;到末尾以后,
循环只能执行一次,执行到第二次,在pCmd->Parameters->Append(pParamIn_1);就产生异常,程序执行不下去而退出了。
pCmd->Parameters->Delete(pParamIn_1)