ÀÌÁø ´ëÇü °³Ã¼ (BLOB) (¿¹: ´Ù¾ç ÇÑ ¹æ¹ýÀ¸·Î °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. DBTYPE_BYTES ¸¦ »ç¿ë ÇÏ ¿© BLOB ¹ÙÀÌÆ®ÀÇ ½ÃÄö½º·Î °Ë»ö Çϰųª ISequentialStream°°Àº ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ÂüÁ¶ BLOB ¹× OLE °³Ã¼¿¡¼ OLE DB ÇÁ·Î±×·¡¸Ó¿ë ÂüÁ¶¡£
´ÙÀ½ Äڵ忡¼´Â ISequentialStreamÀ» »ç¿ë ÇÏ ¿© BLOB¸¦ °Ë»ö ÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù. ¸ÅÅ©·Î BLOB_ENTRY ¸¦ »ç¿ë Çϸé ÀÎÅÍÆäÀ̽º¿Í ÀÎÅÍÆäÀ̽º¿¡ »ç¿ë µÇ´Â Ç÷¡±×¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀ» ¿¬ ÈÄ ÄÚµå È£Ãâ Àб⠹ݺ¹ ISequentialStream BLOB¿¡¼ ¹ÙÀÌÆ®¸¦ ÀÐÀ» ÇÕ´Ï´Ù. ¸±¸®½º ´ÙÀ½ ·¹Äڵ带 ±¸ÇÏ´Â MoveNext ¸¦ È£Ãâ Çϱâ Àü¿¡ ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅÍÀÇ Æó±â¸¦ È£Ãâ ÇÏ´Â Äڵ塣
cCategories Ŭ·¡½º
{
°ø°³:
ISequentialStream * pPicture;
BEGIN_COLUMN_MAP(CCategories)
BLOB_ENTRY (4, IID_ISequentialStream, STGM_READ, pPicture)
END_COLUMN_MAP()
};
CTablelt;CAccessor <CCategories> > ¹üÁÖ;
ULONG cb;
¹ÙÀÌÆ® myBuffer [65536];
Ä«Å×°í¸®ÀÔ´Ï´Ù.¿ÀÇ (¼¼¼Ç, "Ä«Å×°í¸®");
µ¿¾È (Ä«Å×°í¸®.MoveNext() = S_OK)
{
¸¶
{
categories.pPicture-> Àбâ (myBuffer, 65536, & cb);
/ / ¹öÆÛ¿Í ÇÔ²² ¹º°¡ ÇÒ
} (cb > 0); Çϸé¼
categories.pPicture-> Release();
}