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

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------

델파이 7  -> 도쿄로 마이그레이션 중입니다.

기존 ADO 쿼리에서 FD쿼리로 변환작업을 진행중인데, 

MapRule을 통해 BCD 필드를 integer, float 필드로 변환하였습니다.

헌데 일부 쿼리는 TBCDfield가 아닌 TFMTBCDfield로 로드가 되는데, 어떠한 경우에 fmtbcd필드로 로드가 되는것인가요?

또한 FMTbcd필드는 maprule의 정책이 적용이 되질 않습니다.

거기에 maprule은 FDConnection에만 적용해두면 해당 커넥션을 사용하는 FDquery에 모두 적용이 되는것인가요??

(현재 적용이 되질않나 fdquery component에 하나씩 maprule 생성.)

 

정리하자면, 

1. BCDfield와 FMTBCDfield의 차이점.(어떠한 경우에 FMTBCD로 로드되는지?)

 

2. FMTBCDfield에 Maprule 적용방법.

 

3. maprule은 FDConnection에만 적용해두면 해당 커넥션을 사용하는 FDquery에 모두 적용이 되는것인지?

 

4. maprule에서 widestringfield를 stringfield로 바꿀 수 있는지?

 

 

하기 테스트해본 소스입니다.

====================

  object FDConnection1: TFDConnection

    Params.Strings = (

      'DriverID=ora'

      'Database=***'

      'Password=****'

      'User_Name=****')

    FormatOptions.AssignedValues = [fvMapRules, fvDataSnapCompatibility]

    FormatOptions.OwnMapRules = True

    FormatOptions.MapRules = <

      item

        PrecMax = 10

        PrecMin = 0

        ScaleMax = 0

        SizeMin = 0

        SourceDataType = dtFmtBCD

        TargetDataType = dtInt32

      end>

    FormatOptions.DataSnapCompatibility = True

    Connected = True

    LoginPrompt = False

    Left = 360

    Top = 216

  end

  object FDQuery1: TFDQuery

    Connection = FDConnection1

    SQL.Strings = (

      'select 1 f1, 2.3 f2, 3.12345 f3'

      'from dual')

    Left = 440

    Top = 224

    object FDQuery1F1: TFMTBCDField

      FieldName = 'F1'

      Origin = 'F1'

      Precision = 32

      Size = 12

    end

    object FDQuery1F2: TFMTBCDField

      FieldName = 'F2'

      Origin = 'F2'

      Precision = 32

      Size = 12

    end

    object FDQuery1F3: TFMTBCDField

      FieldName = 'F3'

      Origin = 'F3'

      Precision = 32

      Size = 12

    end

  end

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15762
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
2919 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 10 - Exercise 1 [1] 관리자 2016.05.10 151
2918 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 9 - Exercise 3 [1] 관리자 2016.05.02 152
2917 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 9 - Exercise 2 [1] file 관리자 2016.05.02 147
2916 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 9 - Exercise 1 [1] file 관리자 2016.05.02 167
2915 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 23 - Exercise 1 관리자 2016.05.27 159
2914 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 14 - Exercise 2 관리자 2016.05.10 127
2913 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 7 - Exercise 4 [2] 관리자 2016.05.02 210
2912 TMediaPlayer.Open 중 Invalid floating point operation 에러 발생 [4] Jack 2020.06.29 685
2911 modal이 뒤로 숨는현상 cleo0917 2020.07.03 161
2910 DataSnap 문의입니다. [3] 최민철 2014.10.08 1681
2909 Firemoney 로 Mac 및 리눅스 앱 제작시 [1] 100jk 2020.06.26 119
2908 출력이 보이지 않습니다. [1] yawayo 2020.06.29 88
2907 구글플레이에 게시시 32, 64비트 스마트폰 동시에 지원하는 방법은? [1] 화이부동 2020.07.02 69
2906 TMS그리드 설치시 에러 [1] 피스티스 2020.07.02 217
2905 설치및 구버젼 라인센스 [2] 희망나라 2020.07.02 81
2904 [시작하는 사람들을 위한 델파이 프로그래밍] 모듈 7 - Exercise 2 [1] 관리자 2016.05.02 237
2903 TMediaPlayer.Play 에서 floating point invalid operation 에러 Jack 2020.06.30 158
2902 [세미나: 데이터와 RAD] 공유메모리를 32비트에서 잘사용중인데 64비트에서 문제가 있습니다. [2] 험프리 2020.06.24 403
2901 (자문 자답) JSON 안의 특정 필드 값만 바꾸는 방법은 TJsonPair를 사용하면 간단합니다. (POST, PUT 방식으로 특정 필드만 교체할 때, 특히 유용) [2] WhiteC 2020.06.15 337
2900 코로나19 세미나 관련 DB오류 질문드립니다. file 유정 2020.06.25 116