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

Delphi DBExpress의 버그 문제

2012.08.09 20:40

땅주인 조회 수:7470

환경: 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 17244
공지 유용한 관련 사이트 관리자2 2014.03.20 56135
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 99565
53 모니터 2화면에서 프로그램 열리는 위치 지정가능하다면 방법은? [3] 양현숙 2012.08.16 31380
52 델파이 XE2 디버깅 에러 재 질문 드립니다. [1] file 쮸니 2012.08.10 10622
51 델파이 XE 한영전환 문제 확인 해 주세요 [1] memc 2012.08.09 9882
» DBExpress의 버그 문제 [1] file 땅주인 2012.08.09 7470
49 이유를 알수 없는 디버깅 에러 확인 부탁드립니다. [1] file 쮸니 2012.08.09 7504
48 RAD Studio (델파이, C++빌더) 에서 원격 디버깅 (Remote debugging) 이 안되나요? 관리자 2012.03.07 13467
47 TabControl 컴포넌트 Tab Position 문의 file 양현숙 2012.08.09 8198
46 요즘 델파이에서 코드 품질이나 감사(audit) 할 수 있는 기능이 있나요? 관리자 2012.08.07 7248
45 Windows7 에서 관리자 권한 토마토 2012.07.25 10709
44 iOS 개발을 위한 Free Pascal 설치 재 질문 합니다. 김동환 2012.07.24 9243
43 RAD, 델파이, C++빌더의 에디션별 업그레이드 적용 범위를 알고 싶습니다. 관리자 2012.07.19 7721
42 Translation Manager [3] file 정준 2012.07.12 7868
41 DbExpress에서 BLOB 데이터 저장 및 읽어 오기 [5] secret 마구간 2012.07.05 9
40 [해결] D7에서 XE2로 패키지 컨버전시 아이콘 생성되는 문제 [5] file 한림대의료원정보기술센터 2012.07.04 9817
39 파이어몽키 어플리케이션 폼에 컴포넌트를 올려놓아도 아무것도 안보입니다. file 하두고 2012.07.04 7630
38 다른 프로그램과 연동 방법 문의 합니다. [1] memc 2012.06.14 12194
37 델파이 xe 인디 TcpClient 컴포에서 TcpServer로 jpg파일 전송시 문제 [1] superman 2012.06.13 15528
36 delphi xe에 있는 인디컴포넌트 이용시 에러에 대한 문의 [1] superman 2012.06.10 9951
35 날짜변환 문의 드립니다. [1] memc 2012.06.01 9997
34 서버 tcp/ip 연결에 관한 문의 드립니다 [4] 환준러브맘 2012.05.31 10083