Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[10532] Re:Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다.
임기섭 [] 1386 읽음    2006-02-28 22:05
답변감사합니다.
앞으로 답변을 여러종류의 답변을 하지 않는것으로 하겠습니다.
죄송합니니다.

1번째 답변은 params.creater는 삭제나 추가하나 에라 답변은 똑같습니다.
list index out of bound에라입니다.
아마 그것 문장과는 상관이 없는것 같습니다.
참 주위의 지인들에게 답변을 얻은봐 델파이 dbexpress버그라 합니다. 다른 관련Db는 잘 되다 합니다. 또 상용버젼 DbExpress버젼은 아무 이상이 없답니다.
고맙습니다.,


박지훈.임프 님이 쓰신 글 :
: 질문은 한번에 하나씩 해주시면 좋겠네요. 보통 답변을 쓰시는 분들은 남는 시간에 소일거리삼아 하는데...
: 여러개가 엮여 있으면 일단 내용을 보기 전부터 모양새가 부담스러워서 그냥 넘어가기 쉽답니다. ^^
:
: 첫번째 질문은...
: 다른 부분은 별 문제가 없는 거 같은데, Params.Create; 부분이 수상합니다.
: Params는 TSQLQuery나 TSQLStoredProc 컴포넌트가 이미 기본적으로 생성시켜놓은 상태이므로 생성자를 여기서
: 호출할 이유가 없겠고, 게다가 여기서 생성자를 호출하면 예상치못한 희한한 에러가 발생할 수 있습니다.
:
: 아마도 TSQLStoredProc에서 읽으려고 하는 Params 대신 허공을 떠도는 처녀귀신 Params 객체가 만들어지고 거기에
: 파라미터가 생성될 겁니다. 그러니 TSQLStoredProc에는 파라미터가 하나도 안들어가있는 상태가 될 듯.
: index out of bounds 예외가 발생한 것은 그 때문인 것 같습니다.
: 그러니 해결책은, Params.Create; 라인만 지워버리면 될 듯.
:
: 두번째 질문은...
: P_a_DataF.Q1이 아마도 TSQLQuery인가본데요. TSQLQuery와 같은 쿼리 전용 컴포넌트에서는 스토어드 프로시저를
: 실행할 수는 있어도 출력 파라미터 값을 받아올 수는 없습니다. 그렇기 때문에 TSQLStoredProc 같은 스토어드 프로시저
: 전용 컴포넌트가 필요한 거죠.
:
: 그럼...
:
:
: 궁금이 님이 쓰신 글 :
: : 델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;

+ -

관련 글 리스트
10518 [질문]프로시저를 사용시 에라입니다. 부탁합니다. 궁금이 1264 2006/02/24
10530     Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다. 박지훈.임프 1457 2006/02/28
10532         Re:Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다. 임기섭 1386 2006/02/28
10533             Re:Re:Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다. 박지훈.임프 1269 2006/02/28
10534                 Re:Re:Re:Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다. 임기섭 1424 2006/02/28
10535                     Re:Re:Re:Re:Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다. 박지훈.임프 2172 2006/03/01
10536                         Re:Re:Re:Re:Re:Re:[질문]프로시저를 사용시 에라입니다. 부탁합니다. 임기섭 1253 2006/03/01
10546                             자답입니다. 임기섭 1970 2006/03/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.