레코드를 몽창 긁어오기 편하다는 이유로 M$ SQL Server 에서 초기 컨텐츠 데이터를 읽을때 ADO 의 CADORecordBinding 를 사용중인데 DECIMAL 타입은 어떻게 읽어야 할지 모르겠다. 문서도 빈약하고 찾지 못해서 결국 리버스 엔지니어링을 시도했다. 11 byte 로 들어오고 구조는 대략 아래와 같았다.

혹시 DECIMAL 타입 CADORecordBinding 으로 읽는 정상적인-_- 방법 아시는분 계시면 제보 달라. -.-;;

  • 알아낸것 :
    [CODE]struct _decimal_variant { short prec; char scale; __int64 value; float getFloat() { long double t = (long double)value; for( char x = 0; x < scale; ++x ) { t /= 10; } return (float)t; } };[/CODE]

  • 사용예 :
    [CODE] struct dbSomething : public CADORecordBinding { ADO_NUMERIC_ENTRY2( 1, adDecimal, value, 10,2,FALSE) _decimal_variant value; };[/CODE]
  • 2004/09/13 16:24 2004/09/13 16:24

    트랙백 주소 :: http://testors.net/tt/trackback/154

    1. CADORecordBinding 과 DECIMAL 타입 #2

      Tracked from Testors.Net 2004/12/30 16:40  삭제

      이전 포스팅 역시 찾아보니 DECIMAL 이라는 타입이 있더군. 그런데 기존에 작성해 놓은 _decimal_variant 가 온통 쓰이고 있는데다가, 모두 바꾸기가 좀 구려서 아래와 같이 처리해 버렸다. [CODE]struct _decimal_variant : public DECIMAL { flo..