자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 15762
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
1039 30392, iOS9 example WebBrowser 오류문의 [2] file 사랑남 2015.10.29 148
1038 아래에 시애틀 설치 후 문제로 올렸던거 그 이후 상황 입니다. 나도몰라 2015.10.29 231
1037 [XE8] 안드로이드 default키보드 IME 모드 [2] 가을이다 2015.10.29 673
1036 데이터스냅 서버 함수의 파라미터 타입 제약이 있나요? [2] devdevil0625 2015.10.28 252
1035 ios9 버전에서 webview 를 통한 앱개발을 진행할 때 앱 Crash 가 발생합니다 [1] david 2015.10.29 188
1034 TFDMemTable ios 에서 한글문제 있나요? [3] kerry 2015.10.28 143
1033 평가판 사용중 문제발생으로 문의 드렸던 내용입니다. [3] file 나도몰라 2015.10.28 232
1032 ClientDataSet open ios에서 midas Libary 추가했는데도 같은 메세시지 가 뜸니다. [1] kerry 2015.10.28 182
1031 try catch가 작동하지 않는 현상 [1] 고고고 2015.10.27 435
1030 ClientDataSet open 안드로이드는 문제없이 돌아가는데 ios에서 아래 메세지가 뜹니다. [1] kerry 2015.10.27 125
1029 ClientDataSet open 맥 simumlator error 이미지입니다. [1] file kerry 2015.10.27 195
1028 [공유] 스트링그리드(TStringGrid)를 정렬하고 싶어요. file 험프리 2015.10.27 2059
1027 param까지 맵핑된 SQL문을 출력할수 있나요? [1] 고고고 2015.10.27 439
1026 [공유] LG G 패드 8.3(안드로이드 4.2.2)에서 델파이로 만든 앱을 테스트할 수 있는 방법이 있을까요? 험프리 2015.10.26 905
1025 ios 개발시 please specify exact device preset uuid [1] kerry 2015.10.25 384
1024 콤보박스를 바인딩에서 연결하는 방법을 알려주세요. [2] file 거북이 2015.10.23 488
1023 컴포넌트 사용 관련 [1] 똘귀아빠 2015.10.23 99
1022 [마이그레이션][델파이6>델파이XE8] 프로젝트를 오픈하면 메세지가 뜨는 원인 [1] file 똘귀아빠 2015.10.23 276
1021 [마이그레이션][델파이6>델파이XE8] 델파이 6으로 개발 된 프로그램을 XE8로 컨버젼 한 후 실행 오류 [1] file 똘귀아빠 2015.10.23 316
1020 날짜 포멧을 설정하고 들어가니 에러가 발생합니다. [3] 거북이 2015.10.21 404