자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 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 56080
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99517
2013 구글플레이에 게시시 32, 64비트 스마트폰 동시에 지원하는 방법은? [1] 화이부동 2020.07.02 75
2012 [10.2 도쿄 출시세미나] 이번 세미나에서 가장 기대되는건 당연히 리눅스 환경에서의 개발이죠....당연히..이게 얼마나 windows 버전에만큼 안정적으로 구동이 되도록 개발이 가능한지가 궁굼하네요 험프리 2017.04.06 76
2011 [10.3.3 브리핑] 출시 후 로드맵이 변경되었나요? 험프리 2019.12.10 76
2010 [10.3 리오 출시 세미나] 매니지드 레코드 기능만 보류된 거 아닌가요? 험프리 2018.11.26 79
2009 frxxlsexport 안보이는 현상 가나다 2019.03.06 79
2008 [RAD서버-201703 세미나] 리눅스 및 ARM 계열 크로스컴파일 업그레이드 일정 험프리 2017.03.17 81
2007 실행되지만 레퍼런스에 없는 system.default 2 임병기 2017.04.01 81
2006 [10.3.3 브리핑] RAD서버의 부하 분산 등은 어떻게 되나요? 험프리 2019.12.10 82
2005 ActiveX 호환이 안되는 것인지 궁금합니다. KJ 2020.02.17 82
2004 디버깅을 하면서 메모리에 어떻게 할당됐는지 확인할 수 있나요? 손보라 2016.08.31 84
2003 [10.3.3 브리핑] RAD 서버관련 참고할 자료 안내 부탁드려요. 험프리 2019.12.10 86
2002 델파이 xe seattle 10 사용중 이미지 인쇄 버그 네이트 2020.11.17 86
2001 [시애틀 출시세미나] 제품소개의 권장사항에 XP가 빠져있는데 XP에서도 사용할 수 있나요? Humphery 2015.09.11 87
2000 실행 시 Down Run Away Error..가 발생합니다 [1] sm 2017.09.21 88
1999 rio update 질문입니다. [1] file 희망나라 2020.02.17 88
1998 아파치 RAD Server 연동 날개 2021.03.11 88
1997 간혹 . 를 찍어도 아무런 반응이 없는 경우.. 가나당 2016.12.22 90
1996 실행되지만 레퍼런스에 없는 system.default [1] 임병기 2017.03.26 91
1995 Berlin, Nougat 환경에서 TMemo 관련. [1] 까치발가락 2017.07.28 92
1994 [시애틀 출시세미나] FireDAC의 기능을 자세히 살펴보고 싶어요. Humphery 2015.09.11 93