Здравствуйте Ростислав Глухов, Вы писали:
РГ>Здравствуйте KAY, Вы писали:
KAY>>Народ! Подскажите, плиз, как мне добавить файл (например,
KAY>>документ Word) в BLOB-поле
(желательно с примером кода).
KAY>>Заранее благодарен!!!
РГ>Добавляется/читается с использованием функций ADO Field:
РГ>GetChunk()/AppenfChunk()
РГ>например (очень грязно)
РГ>[vc]
РГ>bool CImUtil::ImFieldFromFile(FieldPtr &fld, _bstr_t ifile)
РГ>{
РГ> VARIANT varArray;
РГ> long lDataLength=0;
РГ> char *pBuf = NULL;
РГ> int nDataLenRetrieved = 0;
РГ> try
РГ> {
РГ> ifstream fi(ifile, ios::in | ios::binary);
РГ> lDataLength = filelength(fi.fd());
РГ> if(lDataLength > 0)
РГ> {
РГ> SAFEARRAY FAR* psa;
РГ> SAFEARRAYBOUND rgsabound[1];
РГ> rgsabound[0].lLbound = 0;
РГ> rgsabound[0].cElements = lDataLength;
РГ> psa = SafeArrayCreate(VT_I1, 1, rgsabound);
РГ> if(SafeArrayAccessData(psa,(void **)&pBuf) == NOERROR)
РГ> fi.read(pBuf,lDataLength);
РГ> SafeArrayUnaccessData(psa);
РГ> varArray.vt = VT_ARRAY | VT_UI1;
РГ> varArray.parray = psa;
РГ> fld->AppendChunk(varArray); /// !!!!!!
РГ> VariantClear(&varArray);
РГ> }
РГ> fi.close();
РГ> }
РГ> catch(_com_error &e)
РГ> {
РГ> MessageBox(HWND_DESKTOP,e.ErrorMessage(),"ERROR",MB_OK);
РГ> return false;
РГ> }
РГ> return true;
РГ>}
РГ>[/vc]
А нельзя ли это сделать с помощью CLongBinary или чего-нибудь подобного ???