Reading and Writing Binary Large Objects (BLOBS) to ACCESS
David W -- David.W.Archer@JCI.Com Friday, March 28, 1997 Environment: VC++ 4.1, Win95 I am having problems reading and writing binary data to/from an access database table. I have set up an Ole Object Field in access, which per the access doc is the correct data type for binary data. In my code I have created a CDaoRecordset derived class for handling reading and writing the binary data. Class Wizard binds a CLongBinary to the Ole Object field when creating the recordset. I am using this CLongBinary to attempt read/write but it does not seem to be working. Here is a sample of the code I am using to write binary data to the recordset. m_pGraphAttr->m_GraphAttr is the database field under question. m_pGraphAttr->Edit(); //PEstorepartial places the hGlobal of the binary data memory //location in m_pGraphAttr->m_GraphAttr.m_hData if(!PEstorepartial(m_hPE,&m_pGraphAttr->m_GraphAttr.m_hData,&dwSize)) { ASSERT( FALSE ); } m_pGraphAttr->Update(); I thought this would be adequate for updating the database field, but it does not seem to work? David Archer david.w.archer@jci.com Johnson Controls Inc.
John Bundgaard -- piano_boxer@post1.com Sunday, March 30, 1997 In the recordset, that is to receive the binary data, bind a CByteArray variable to the field. When storing, call | m_pSet->m_oByteArray.SetSize(m_nMyDataSize); | if(memcmp(&m_pSet->m_oByteArray[0], m_pMyData, m_nMyDataSize)) | { | memcpy(&m_pSet->m_oByteArray[0], m_pMyData, m_nMyDataSize) | m_pSet->SetFieldNull(FALSE); | m_pSet->SetFieldDirty(TRUE); | } | | //........ ---- From: Archer, David WTo: mfc-l@netcom.com Date: 30. marts 1997 14:23 Subject: Reading and Writing Binary Large Objects (BLOBS) to ACCESS Environment: VC++ 4.1, Win95 I am having problems reading and writing binary data to/from an access database table. I have set up an Ole Object Field in access, which per the access doc is the correct data type for binary data. In my code I have created a CDaoRecordset derived class for handling reading and writing the binary data. Class Wizard binds a CLongBinary to the Ole Object field when creating the recordset. I am using this CLongBinary to attempt read/write but it does not seem to be working. Here is a sample of the code I am using to write binary data to the recordset. m_pGraphAttr->m_GraphAttr is the database field under question. m_pGraphAttr->Edit(); //PEstorepartial places the hGlobal of the binary data memory //location in m_pGraphAttr->m_GraphAttr.m_hData if(!PEstorepartial(m_hPE,&m_pGraphAttr->m_GraphAttr.m_hData,&dwSize)) { ASSERT( FALSE ); } m_pGraphAttr->Update(); I thought this would be adequate for updating the database field, but it does not seem to work? David Archer david.w.archer@jci.com Johnson Controls Inc. ========================================================================== PostOne tip: Make new contacts, get to know other PostOne users. Check it out at http://www.post1.com/cgi-bin/member/pshowplan ==========================================================================
Become an MFC-L member | Вернуться в корень Архива |