자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

Delphi DBExpress의 버그 문제

2012.08.09 20:40

땅주인 조회 수:7503

환경: C++ Builder 2009

DB Component: DBExpress

DB : MySQL 5.0


아래 코드에서


TSQLQuery->RecordCount; 에서 뜬금없이 Exception이 발생합니다.

결과Set로 예상 결과 Set과 틀립니다.


가끔 DBExpress에서 이런 에러를 내는데,

심중은 DBExpress의 내부 버그가 아닌가 싶습니다.


DBExpress + MySQL 조합에서 알려진 버그나 문제점들이 있는 지 알려주시면 감사하겠습니다.

그리고,

가능하다면 DBExpress의 버젼업이나 Buf Fix 버젼등에 대한 정보를 주시면 감사하겠습니다.


그리고, 가능하다면 이런 버그에 대한 문제점 해결에 알려진 상황이 있다면 그런 상황도 알려 주시면

감사하겠습니다.


감사합니다.



    UnicodeString sSQL;

//    sSQL = " SELECT a.ExamDate, a.Class, a.License, a.ExamType, a.AppNo, a.Name, "
//           "        b.TestNo, b.Score, b.ExamResult, b.WrongFlag, b.StartTime,   "
//           "        b.FinishTime, b.BeforeStart, b.DrivePosture, b.Start,        "
//           "        b.SpeedSustain, b.Brake, b.Steering, b.CarBody, b.Navigate,  "
//           "        b.ChangeDir, b.PassCross, b.Parking, b.Etc, b.FailCode       "
//           " FROM Exam a LEFT OUTER JOIN ExamDetail b                            "
//           "      ON ( a.ExamDate = b.ExamDate   AND                             "
//           "           a.Class    = b.Class      AND                             "
//           "           a.License  = b.License    AND                             "
//           "           a.ExamType = b.ExamType   AND                             "
//           "           a.AppNo    = b.AppNo )                                    "
//           " WHERE a.ExamDate  = '" + sExamDate + "'  " +

    sSQL = " SELECT Exam.ExamDate, Exam.Class, Exam.License, Exam.ExamType, Exam.AppNo, Exam.Name, " \
           "        Exam.Score AS ExamScoreM, Exam.ExamResult AS ExamResultM,                      " \
           "        ExamDetail.TestNo, ExamDetail.Score, ExamDetail.ExamResult, ExamDetail.WrongFlag, ExamDetail.StartTime,   " \
           "        ExamDetail.FinishTime, ExamDetail.BeforeStart, ExamDetail.DrivePosture, ExamDetail.Start,        " \
           "        ExamDetail.SpeedSustain, ExamDetail.Brake, ExamDetail.Steering, ExamDetail.CarBody, ExamDetail.Navigate,  " \
           "        ExamDetail.ChangeDir, ExamDetail.PassCross, ExamDetail.Parking, ExamDetail.Etc, ExamDetail.FailCode       " \
           " FROM Exam LEFT OUTER JOIN ExamDetail ON  "                        \
           "    ( Exam.ExamDate = ExamDetail.ExamDate   AND "                                  \
           "      Exam.Class    = ExamDetail.Class      AND "                                  \
           "      Exam.License  = ExamDetail.License    AND "                                  \
           "      Exam.ExamType = ExamDetail.ExamType   AND "                                  \
           "      Exam.AppNo    = ExamDetail.AppNo )        "                                  \
           " WHERE Exam.ExamDate = '" + sExamDate + "' ";


    sSQL +=" ORDER BY Exam.Class, Exam.License, Exam.ExamType, Exam.AppNo ";

    TExam Exam(EN_EXAM_MODE::EXAM_MODE);
    TExamDetail ExamDetail(EN_EXAM_MODE::EXAM_MODE);

    TSQLQuery *pQuery = DM->GetResultSet(sSQL);
    if ( pQuery == NULL ) return;

    int iRowCount = pQuery->RecordCount;    // Error 발생.
    AdvExamStatus->RowCount = (iRowCount < 2) ? 2 : iRowCount+1;

    int iRow = 1;
    try {
        while ( !pQuery->Eof ) {
            Exam.ExamDate  = pQuery->FieldByName("ExamDate")->AsString;
            Exam.Class     = pQuery->FieldByName("Class")->AsInteger;
            Exam.License   = pQuery->FieldByName("License")->AsString;
            Exam.ExamType  = pQuery->FieldByName("ExamType")->AsString;
            Exam.AppNo     = pQuery->FieldByName("AppNo")->AsInteger;

            ...
            ...

            AdvExamStatus->Cells[ 0][iRow] = IntToStr(Exam.Class);
            AdvExamStatus->Cells[ 1][iRow] = LICENSE2STR(Exam.License);
            AdvExamStatus->Cells[ 2][iRow] = IntToStr(Exam.AppNo);
            AdvExamStatus->Cells[ 3][iRow] = Exam.Name;
            AdvExamStatus->Cells[ 4][iRow] = IntToStr(ExamDetail.Score);


            iRow++;
            pQuery->Next();
        }
    } catch ( Exception &e ) {
#ifdef _DEBUG
        ShowMessage(e.Message);
#endif
    }

    DM->Release(pQuery);

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 20072
공지 유용한 관련 사이트 관리자2 2014.03.20 58976
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 102602
3159 TabControl 컴포넌트 Tab Position 문의 file 양현숙 2012.08.09 8238
3158 이유를 알수 없는 디버깅 에러 확인 부탁드립니다. [1] file 쮸니 2012.08.09 7520
» DBExpress의 버그 문제 [1] file 땅주인 2012.08.09 7503
3156 델파이 XE2 디버깅 에러 재 질문 드립니다. [1] file 쮸니 2012.08.10 10642
3155 모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은? [3] 양현숙 2012.08.16 32013
3154 [문의]델파이 XE2 문의? [1] 타기통 2012.08.17 9102
3153 Socket 에러 secret dreamingguy 2012.08.17 4
3152 Windows7 Pro BDS2006 설치 실행시 오류 [1] secret 푸른숲속 2012.08.17 4
3151 Update Failed 0 Records (Error 문의) memc 2012.08.24 8434
3150 XE3 한글 입력버그 [1] Feelple(고재철) 2012.09.07 8651
3149 Mac OS X 연동과 관하여 [2] 독사 2012.09.07 9180
3148 XE3 Mac 어플 생성 오류 문의 c2design 2012.09.11 8438
3147 파이어몽키 3D 폼에서 컴포넌트 안보이는 문제 [1] cdrd 2012.09.13 7748
3146 [질문] DBX 에서 SQL Server 2000 연결 오류 [1] file cdrd 2012.09.13 8709
3145 질문)IBconsole에서 License? [1] secret 피터 2012.09.19 8
3144 HTML5 빌더에 대해 문의드립니다. secret cyner 2012.09.20 4
3143 델파이 스크롤바 색상 변경 문의 드립니다. [1] memc 2012.09.24 8850
3142 Delphi Begin-End책을 따라하며 [1] funny 2012.09.28 7094
3141 델파이 Begin-End책 따라하기에서 IIS 궁금한 내용 [2] funny 2012.10.02 8790
3140 XE버전에서 안시코드(한바이트) 사용가능 여부 알고 싶습니다. [1] himsh 2012.10.09 7885