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

Delphi DBExpress의 버그 문제

2012.08.09 20:40

땅주인 조회 수:7462

환경: 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 15767
공지 유용한 관련 사이트 관리자2 2014.03.20 54581
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97989
119 델파이 10.3.3에서 컴파일된 apk 안드로이드 11에서 로드 안되는 현상입니다. [7] 돌떵이이11 2021.01.28 1636
118 IOS 배포 에러 질문드립니다. [PAClient Error] Error: E0776 [1] syc 2021.01.28 357
117 안드로이드11에서 실행이 멈추는 원인 해결 방법 부탁 [1] hms123 2021.01.29 312
116 [문의] C++builder 10.4 에서 Troubleshooting: Cannot Run on an Android Device 오류입니다. [1] file 구석 2021.01.31 215
115 Xe5 DB 원견 접속 쿼리 실행 오류 문의 합니다. ㅠㅠ [2] 조은놈 2021.02.02 172
114 ctrl + space 기능 활성화문제 [2] file 즐거운하늘 2021.02.04 425
113 lambda expression 내에서 parameter의 property에 쓰기시 this 가 암묵적 capture 가 되는 문제 [2] 아루스 2021.02.04 1904
112 초보적인 문의 드립니다. [4] BD 2021.02.04 196
111 Xe7 datasnap 안드로이드11 업그레이드후 실행이 안됨 [1] 천년바우 2021.02.08 203
110 [질문] TEdgeBrowser 에서 새창 크기 문제 [1] 겨울아이 2021.02.10 399
109 ExportGridToXLSX 한글 & 특수 문자 사용시 오류 가나다 2021.02.10 419
108 Android SDK 관련 문의 [2] file 신우 2021.02.16 252
107 안드로이드 업데이트 이후 [3] file 지구수비방위대 2021.02.17 1066
106 FireDAC Connection 체크를 어떤 방식으로 하는게 좋을까요? [1] 육식육식 2021.02.22 305
105 error - can't bind address: Address already in use. [2] file 그아이네 2021.02.23 185
104 linux console에서 webbrowser에러 100jk 2021.02.23 107
103 JSON 통신시 한글 꺠짐 [1] 똘귀아빠 2021.02.24 374
102 델파이 10.4.1 환경에서 IOS Device 14.4 디버깅 관련 문의 [2] 2an 2021.02.24 933
101 10.1 Berlin VCL Appearance 변경 시 프로그램 프리징 현상 [1] file 생각 2021.02.25 165
100 c++ buider 10.4.2 버젼 설치하고 테스트 [2] sihwan 2021.02.25 450