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

Delphi DBExpress의 버그 문제

2012.08.09 20:40

땅주인 조회 수:7469

환경: 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 17189
공지 유용한 관련 사이트 관리자2 2014.03.20 56065
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99502
119 E2597 ... arm-linux-androideabi-ld.exe: error: cannot find –ldl [2] file Humphery 2014.05.02 8783
118 파이어몽키에서 제스춰 사용....?? [1] Happycube 2012.05.25 8802
117 인디 TCP 서버 문자 수신 오류 trini 2013.06.27 8818
116 델파이 스크롤바 색상 변경 문의 드립니다. [1] memc 2012.09.24 8821
115 xe2 실행시 file 빛고을총각 2013.01.02 8838
114 Frame 질문좀요 [1] 축구 2012.06.01 8901
113 델파이 다운 현상 [1] 신동근 2012.02.16 8942
112 UTF-8 관련하여 질문올립니다. [1] 조우상 2012.05.08 9041
111 RAD Studio 64bit 디버깅 시 "unable to create process" 오류 메시지가 나오는 경우 대처방안 [4] file Humphery 2014.05.07 9049
110 class tspanel not found. 해결방법 부탁드립니다. [3] 으하하 2013.10.31 9067
109 [문의]델파이 XE2 문의? [1] 타기통 2012.08.17 9084
108 Mac OS X 연동과 관하여 [2] 독사 2012.09.07 9165
107 라이브러리, TZMySqlQuery 객체 생성 [2] file hyunj 2012.04.18 9197
106 dbgrid 한글 입력시 포커스 이동할 때 문제 질문 드립니다 [1] 강경진 2012.10.24 9231
105 iOS 개발을 위한 Free Pascal 설치 재 질문 합니다. 김동환 2012.07.24 9242
104 http post 한글만깨짐 [1] 별밤지기 2013.04.12 9247
103 한글 [3] file 모든길 2012.04.12 9261
102 글씨 크기 [1] 모든길 2012.05.12 9267
101 델파이에서 Socket ipv6 를 사용 할 수 있는 방법이 있습니까? (Delphi 2007기준) [7] 늦바람 2012.07.20 9319
100 델파이 테이블 TTable사용시 에러발생 [2] file 양현숙 2012.02.13 9352