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

C++빌더 Q&A
C++Builder Programming Q&A
[62663] Re:[질문] List index out of bounds(26) 어떻게? 추가 상황
땅주인 [heaven2] 2733 읽음    2010-10-13 15:38
이것저것 테스트를 해보니.. Paramter가 26개를 넘어가면 List index out of bounds(26)을 내내요.

MySQL의 Query Browser에서 command 모드에서 26개 이상의 Paramter로 던지면 정상 수행 되구요.
DBExpress를 쓰는데.. DBExpress의 버그인 지?

아시는 분.. Please...

땅주인 님이 쓰신 글 :
: RAD Studio 2009
: MySQL에 Stored Procedure를 만들고 SP를 호출하는 스크립트인데, 파라메타에 값을 넣고 호출하면
: List index  out of bounds(26) 이라고 나옵니다.
: QnA에서는 리스트의 배열 첨자가 틀렸다는 답이 나와 있는데..
: 여기서는 그냥 ADO 커넥션에서 SP를 실행하는 스크립트인데..왜 이런 에러가 나오는 지 모르겠습니다.
: 한가지 의심은.. 파라메타가 무자게 많다는 것, 74개입니다.(어쩔수없는 상황이라..)
: 파라메타가 몇 개안되는 SP는 잘 됩니다.(다른 SP를 호출하는 다른 함수들은 정상적으로 처리됩니다.)
:
: 혹시 Parameter의 값이 NULL로 설정되면 이럴 수가 있는 지?
:
: 26번재 List 첨자가 잘못되었다는 것인데.. 파레메터의 26번재 값은 숫자값이고 별 다른 것이 없습니다.
: 어떤 문제가 있는 것인 지? Help me..
:
:
: bool CExamDetail::SPFinish()
: {
:      int iResult = 0;	// SP Return value : 0: ok, -1:error
:     TSQLStoredProc *pProc = NULL;
:     try {
:     	pProc = DM->GetProc();  // SP Queue에서 Free 상태의 SP를 가져온다. 
:     	if ( pProc == NULL ) {
:             return false;
:         }
:     	pProc->StoredProcName = "SPFinish";
: 
:         pProc->Params->Clear();
:         pProc->Params->CreateParam(ftString,   "vFlag",           ptInput);
:         pProc->Params->CreateParam(ftString,   "vExamDate",       ptInput);
:         ....<<중략>> Parameter => 73개
:         pProc->Params->CreateParam(ftInteger,  "vResult",         ptOutput);
: 
:         pProc->Params->ParamByName("vFlag")->Value            = EXAM_MODE_TO_STR(enExamMode);
:         pProc->Params->ParamByName("vExamDate")->Value        = ExamDate;
:         ....<<중략>>
: 
:         pProc->ExecProc();  // 여기서 에러..
: 
:         iResult = pProc->Params->ParamByName("vResult")->Value;
:         DM->ReleaseProc(pProc);	// SP 자원 해재(SP Queue에 다시 넣는다.
: 
:     } catch ( Exception &e ) {
:         DM->ReleaseProc(pProc);
: #ifdef _DEBUG
:       	ShowMessage(e.Message);
: #endif
:     }
: 	return ( iResult == 0 ) ? true : false;	// 0: ok, -1: error
: }
: 

+ -

관련 글 리스트
62653 [질문] List index out of bounds(26) 어떻게? 땅주인 1566 2010/10/12
62665     Re:[질문] List index out of bounds(26) 어떻게? 땅주인 2320 2010/10/13
62663     Re:[질문] List index out of bounds(26) 어떻게? 추가 상황 땅주인 2733 2010/10/13
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.