SQL 컬럼 중 varbinary 같은 경우 RecordSet에서는 RFX_Binary로 불러온다.
RFX_Binary(pFX, _T("[컬럼이름]"), m_arValue, 400); <- varbinary의 사이즈가 400이면, RFX_Binary의 기본크기가 255가 최대이므로 사이즈를 명시해주어야한다.
CByteArray m_arValue; <- 클래스내 Field/Param Data에 변수가 정의되어 있어야한다.
GetDWORD 같은 함수로 (TCHAR*)&m_arValue 이런식으로 매개변수 전달시 값이 제대로 안읽어지기도 한다.
DWORD value = 0;
*((char*)&value) = m_arValue[0];
*(((char*)&value)+1) = m_arValue[1];
*(((char*)&value)+2) = m_arValue[2];
*(((char*)&value)+3) = m_arValue[3];
이를 통해 value는 m_arValue의 첫 4바이트를 DWORD로 반환한다. 즉, 바이트 단위로 접근해서 값을 가져와야된다.
'Development > C++' 카테고리의 다른 글
[STL] vector, deque, list (0) | 2014.09.22 |
---|---|
가상 소멸자의 사용 이유 (0) | 2014.09.22 |
메모리 단편화 (0) | 2014.09.22 |
가상함수 테이블의 메모리 구조 (0) | 2013.12.11 |
함수 오버라이딩(overriding)과 오버로딩(overloading) (0) | 2013.12.11 |