Secreta

MS-SQL Image field에 저장된 그림을 읽어오자 본문

Engineering/Technique

MS-SQL Image field에 저장된 그림을 읽어오자

준♡ 2010.03.31 08:29

저의 사생아, 버려진 네이버 블로그를 본격 폐쇄(?) 하기위하여

자료옮겨오기 프로젝트를 진행한지 언 ... ... 5일차,

드디어 대망의 마지막 자료입니다 ... ...

.. -_- 포스트가 ... 5개밖에 없었어요 ;;

 

본 포스트는 지난 포스트, [MS-SQL Image field를 사용하여 그림을 저장하자]편에 이어

Image field에 저장된 그림을 읽어오는 방법에 대해 설명합니다.

 

Image field는 저장도 까다로울 뿐만 아니라

필드에 저장된 내용을 불러오는 것 역시 일반적인 다른 필드와는 조금 다릅니다.

 

핵심은 저장할 때와 마찬가지로 m_hData로부터 파일의 핸들값을,

m_dwDataLength로부터 그 파일의 크기 정보를 얻어내는 것입니다.

 

저장할 때 HGLOBAL을 사용했기에, 불러올 때도 GlobalLock을 사용하여 불러옵니다.

 

LPSTR buffer = (LPSTR)GlobalLock(m_db.m_image.m_hData);

CFile outFile("test1.jpg",CFile::modeCreate|CFile::modeWrite);

outFile.WriteHuge(buffer, m_db.m_image.m_dwDataLength);

GlobalUnlock(m_db.m_image.m_hData);

outFile.Close();

 

 

아울러 데이터베이스 클래스 설정 밑 기타 ODBC 세팅방법,

테이블 구성등의 내용은 앞의 포스트 및 다른 참고자료를 이용하세요.

 

또한 ... 본 샘플 코드의 앞과 뒤에 DB Open()과 Close() 등을 추가해줘야 합니다.

(가끔 안된다고 하시는 분들이 계시더군요 ...)

 

-------------------------------------

 

이제 자료를 다 옮겨왔으니 ...

이제부터 본격적으로 본 블로그의 정체성(?)에 걸 맞게

암호학 포스팅을 해야겠군요 ... 'ㅂ'/

(이전 블로그 reinliebe.textcube.com의 서비스 종료와 더불어 원문을 그대로 옮겨옵니다)

0 Comments
댓글쓰기 폼
Prev 1 2 3 4 5 6 7 8 9 10 Next