자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 17207
공지 유용한 관련 사이트 관리자2 2014.03.20 56082
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99520
113 Embarcadero® Delphi 10.1 Berlin 영수증 프린터 인쇄 개발 문의 드립니다. [1] midas 2016.12.14 7079
112 Delphi Begin-End책을 따라하며 [1] funny 2012.09.28 7080
111 XE4에서 iOS Device에서 실행하는 경우..오류.. [2] file 델파이야 2013.04.25 7090
110 XE4 iPhone 앱 개발시 블루투스 제어가능 한가요? [1] 강구 2013.06.21 7112
109 Delphi 동영상 강의 업로드를 기다립니다. O-X 2013.01.05 7119
108 RichEdit 관련해서 여쭤보고 싶습니다. [2] 한림대의료원정보기술센터 2013.11.15 7175
107 델파이 ios 앱 개발에서 데이터 연결 프로그램을 실행 시 오류가 발생합니다. [1] 관리자 2013.06.07 7196
106 IOS7에 대한 대응이 어떻게 되는지요? [3] 무심객 2013.07.09 7199
105 요즘 델파이에서 코드 품질이나 감사(audit) 할 수 있는 기능이 있나요? 관리자 2012.08.07 7247
104 DelphiXE2에서 이전버젼들에서 작동하던 Code Insight 기능 등이 작동하지 않습니다. 늦바람 2013.02.12 7272
103 iOS 앱배포용 IPA 생성에 관한 문의입니다. [1] 바보고기 2013.10.12 7318
102 한글 관련 질문 입니다 탄돌이 2013.02.20 7335
101 XE5 안드로이드에서 Usb Accessory 가능? [1] 망치 2013.10.09 7370
» DBExpress의 버그 문제 [1] file 땅주인 2012.08.09 7469
99 그룹박스 Paint관련 [2] 크림슨킹 2020.01.05 7476
98 이유를 알수 없는 디버깅 에러 확인 부탁드립니다. [1] file 쮸니 2012.08.09 7503
97 Begin...End 14장 datasnap예제 에러 [1] file funny 2013.01.16 7525
96 DBExpess 예제관련 문의 [1] ideveloper 2012.11.26 7586
95 Excel Component 문의 [1] ideveloper 2012.11.28 7611
94 XE5 안드로이드 관련 추가적으로 필요한 사항 [1] c2design 2013.09.23 7629