■ jwFreeNote_02
[질문] blob, AppendChunk, database에 이진 데이터 넣기... | 신고 |
질문자 : 비공개 | 작성일 : 2005-04-13 10:09 | 진주 0알 | 답변: 0 | 조회: 16 |
데이터베이스에 BYTE형 배열을 AppendChunk로 넣고 있습니다. 데이터베이스에서 데이터타입을 varbinary로 잡거나 varchar로 잡으면 에러가 납니다. image로 잡으면 정상적으로 들어가고요. 근데 image 타입은 너무 크기 때문에 좀 작은거에다가 집어넣고 싶은데 도통 안되네요. 이런거 해보신분 도움 부탁합니다. 이미지가 들어가서 되는가 싶었는데 이게 또 문제네요. 몇일째 이것만... 삽질중입니다. 도와주세요. |
BOOL CADORecordset::AppendChunk(FieldPtr pField, LPVOID lpData, UINT nBytes) { HRESULT hr; _variant_t varChunk; long lngOffset = 0; UCHAR chData; SAFEARRAY FAR *psa = NULL; SAFEARRAYBOUND rgsabound[1]; try { //Create a safe array to store the array of BYTES rgsabound[0].lLbound = 0; rgsabound[0].cElements = nBytes; psa = SafeArrayCreate(VT_UI1,1,rgsabound); while(lngOffset < (long)nBytes) { chData = ((UCHAR*)lpData)[lngOffset]; hr = SafeArrayPutElement(psa, &lngOffset, &chData); if(FAILED(hr)) return FALSE; lngOffset++; } lngOffset = 0; //Assign the Safe array to a variant. varChunk.vt = VT_ARRAY|VT_UI1; varChunk.parray = psa; hr = pField->AppendChunk(varChunk); if(SUCCEEDED(hr)) return TRUE; } catch(_com_error &e) { dump_com_error(e); return FALSE; } return FALSE; }
댓글
댓글 쓰기