델7입니다.
디비는 mssql
컴포넌트는 DbExPress입니다.
AcceptDate와 AcceptGubun은 input변수이고
AcceptSeq는 output데이터 입니다.
질문1
그런데 소스1를 보면 params.count보면 3이 제대로 나오는데 왜 list indexout of bounds인지요
질문2
그런데 소스2를 보면 Query를 이용하여 프로시저를 사용하는데 에라는 없는데 왜
AcceptSeq의 변수에 값이 안넘어 올까요 궁금합니다.
쿼리분석기에서
exec sp_er_acceptNo '20060222','E',''
실행하면 값을 가져옵니다 00008이런식으로
그럼 수고하세요
소소1
With SQLStoredProc1 Do begin
Close;
StoredProcName:='sp_er_AcceptNo';
Params.Create;
params.CreateParam(FtString ,'AcceptDate' , ptInput ).AsString:='20060221';
params.CreateParam(FtString ,'AcceptGubun', ptInput ).AsString:='E' ;
params.CreateParam(FtString ,'AcceptSeq' , ptOutput).AsString:=Acc_Code;
ExecProc; //여기에서 에라입니다. List index out of bounds에라입니다.
End;
소소2
With P_a_DataF.Q1 do begin
Close;
SQL.Clear;
SQL.Add('Exec sp_er_AcceptNo :Date, :Gubun,:Seq ');
ParamByName('Date' ).AsString:='20060221';
ParamByName('Gubun').AsString:='E' ;
ParamByName('Seq' ).AsString:='' ;
Try
ExecSQL;
Except
on E: EDBEngineError do begin
ShowMessage(IntToStr((E as EDBEngineError).Errors[0].ErrorCode)+':'+E.Message);
Exit;
end;
End;
End;