CByteArrayFile -- A class used to serialize object with database field

In my project, I need to serialize some object into database field with DAO. However, I can not find any support on serializing object into database field. I have to implemented one by myself.

In this example, I will show you a class named CByteArrayFile. It is a derive class of CMemFile. With this class, we can serialize object into CByteArray object. And then, we can use DFX_Binary to transfter data into database "long binary" field.

Follwing is the sample code of how to use the CByteArrayFile class.

In the class which need to be serialize, such as CSomeClass.cpp


/////////////////////////////////////////////////////////////////////////////////////////////
CSomeClass::TransDataWithByteArray(CByteArray& byteArray, BOOL bStore)
{
 CByteArrayFile byFile;
 byFile.SetArray(&byteArray);    // attach byteArray with byFile
 if (bStore) // store object into byteArray
 {
  CArchive ar( &byFile, CArchive::store); // create CArchive object with CByteArray File
  Serialize(ar);    // Call CSomeClass::Serialize function
  ar.Close();
 }
 else // load object from byteArray
 {
  CArchive ar( &byFile, CArchive::load);
  Serialize(ar);    // Call CSomeClass::Serialize function
  ar.Close();
 }
 
 // important!!, detach byteArray with byFile. Or byteArray will be free with byFile
 byFile.Detach();
}

In the file which used CDaoRecordset derived class such as CSomeDaoRecordset

/////////////////////////////////////////////////////////////////////////////////////////////
CSomeDaoRecordset rs;    // rs.m_byteLongField is a CByteArray class
CSomeClass object;
// 1. Write to record
rs.Open(. . .);
rs.AddNew();
object.TransDataWithByteArray(rs.m_byteLongField, TRUE /* store */);
. . .
rs.Update();
rs.Close();

// 2. Read from record
rs.Open(. . .);
object.TransDataWithByteArray(rs.m_byteLongField, FALSE /* load */);
...

rs.Close();

Download source - 2 KB

Date Last Updated: April 3, 1999



Comments

  • How can I read data of memo type from an access database? Help me ! ! !

    Posted by Legacy on 09/10/2003 12:00am

    Originally posted by: shape

    How can I read data of memo type from an access database? Help me ! ! !
    

    Reply
  • How can I add the pictures to the database

    Posted by Legacy on 07/02/2002 12:00am

    Originally posted by: Alexber

    Help pls !
    I need to add the pictures from the file to DB and then read them again...
    void SetFieldValue( LPCTSTR lpszName, const COleVariant& varValue );
    How can I attach the picture to varValue ?

    Reply
  • how can i create a table for storing images, movies and text file using sql?

    Posted by Legacy on 04/18/2002 12:00am

    Originally posted by: jim

    will you kindly give me some help please?

    Reply
  • employee record

    Posted by Legacy on 02/17/2002 12:00am

    Originally posted by: Omolayo M

    I am trying to write an employee record that will retrieve picture from a table an nwind.mdb access file my problem is that after creating the formview I could bind everything with the exception of photo column to the formview is there any way in which you can help

    Reply
  • Need to Add SetFieldDirty(...) and SetFieldNull(...) to make it work

    Posted by Legacy on 08/20/2001 12:00am

    Originally posted by: chg

    // 1. Write to record
    
    rs.Open(. . .);
    rs.AddNew();
    object.TransDataWithByteArray(rs.m_byteLongField, TRUE /* store */);

    //Add Here-------

    rs.SetFieldDirty(&rs.m_byteLongField);
    rs.SetFieldNull(&rs.m_byteLongField);

    //---------------


    . . .
    rs.Update();
    rs.Close();

    Reply
  • Will this code help to store the contents of a TXT file

    Posted by Legacy on 07/26/2000 12:00am

    Originally posted by: nizam

    Hi,

    Will you kind of kind help me store the content of a TXT file in the database. And when I retrieve and load the contents into TXT file will it be in the same format.

    Please Confirm

    West Wishes
    Nizam

    Reply
  • Will this code help to store the contents of a TXT file

    Posted by Legacy on 07/26/2000 12:00am

    Originally posted by: nizam

    Hi,

    Will you kind of kind help me store the content of a TXT file in the database. And when I retrieve and load the contents into TXT file will it be in the same format.

    Please Confirm

    West Wishes
    Nizam

    Reply
  • How can I store a bitmap in a mdb file?

    Posted by Legacy on 07/05/1999 12:00am

    Originally posted by: Tiger

    I try to build a database,which has a field named "image",the data type is OLE Object.Then I drived a class from CDaoRecordSet(the DSN is the database I just build),Now I want to store a bitmap in this database,how can I do?

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Today's agile organizations pose operations teams with a tremendous challenge: to deploy new releases to production immediately after development and testing is completed. To ensure that applications are deployed successfully, an automatic and transparent process is required. We refer to this process as Zero Touch Deployment™. This white paper reviews two approaches to Zero Touch Deployment--a script-based solution and a release automation platform. The article discusses how each can solve the key …

  • On-demand Event Event Date: December 18, 2014 The Internet of Things (IoT) incorporates physical devices into business processes using predictive analytics. While it relies heavily on existing Internet technologies, it differs by including physical devices, specialized protocols, physical analytics, and a unique partner network. To capture the real business value of IoT, the industry must move beyond customized projects to general patterns and platforms. Check out this webcast and join industry experts as …

Most Popular Programming Stories

More for Developers

RSS Feeds