vc里面怎样读取image类型的字段?
从数据库取出来时,长度是对的,但是取出来的字段内容pBuf和原来存入的不符,老大们帮忙看看什么原因啊,郁闷!
代码如下:
long lDataLength = pRs->Fields->GetItem("pic_content")->ActualSize;
varBLOB = pRs->Fields->GetItem("pic_content")->GetChunk(lDataLength);
if(varBLOB.vt == (VT_ARRAY | VT_UI1))
{
BYTE *pBuf = (BYTE*)GlobalAlloc(GMEM_FIXED,lDataLength);
SafeArrayAccessData(varBLOB.parray,(void **)pBuf);
LPSTR buffer = (LPSTR)GlobalLock((HGLOBAL)pBuf);
FILE * file = fopen("c:\\hello.jpg", "w");
fwrite(buffer, 1, lDataLength, file);
GlobalUnlock((HGLOBAL)pBuf);
SafeArrayUnaccessData (varBLOB.parray);
}