Bir büyük ikili nesne (blob) çeşitli şekillerde alabilirsiniz. blob bayt sırası olarak almak için dbtype_bytes kullanabilirsiniz ya da sen-ebilmek kullanma gibi ISequentialStreamarabirim. Daha fazla bilgi için bkz: BLOB ve ole nesneleri ole db Programcı Başvurusu.
Aşağıdaki kod, ISequentialStreamkullanarak blob almak nasıl gösterir. Makro blob_entry arabirimi ve arabirim için kullanılan bayraklar belirtmenize olanak verir. Tablo açtıktan sonra kodu okuma art arda blob bayt okuma ISequentialStream çağırır. Sonraki kayda almak için MoveNext çağırmadan önce arabirim işaretçisi elden sürüm kodunu çağırır.
sınıf CCategories
{
public:
ISequentialStream * pPicture;
BEGIN_COLUMN_MAP(CCategories)
blob_entry (4, IID_ISequentialStream, stgm_read, pPicture)
END_COLUMN_MAP()
};
CTablelt;CAccessor <CCategories> > Kategoriler;
ulong cb;
byte myBuffer [65536];
Kategoriler.Açık (oturum, "Kategoriler");
(kategoriler.MoveNext() == s_ok)
{
yapmak
{
categories.pPicture - > okuma (myBuffer, 65536 & cb);
/ / Tampon yapmak
} ise (cb > 0);
categories.pPicture - > Release();
}