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

  • Java developers know that testing code changes can be a huge pain, and waiting for an application to redeploy after a code fix can take an eternity. Wouldn't it be great if you could see your code changes immediately, fine-tune, debug, explore and deploy code without waiting for ages? In this white paper, find out how that's possible with a Java plugin that drastically changes the way you develop, test and run Java applications. Discover the advantages of this plugin, and the changes you can expect to see …

  • As mobile devices have pushed their way into the enterprise, they have brought cloud apps along with them. This app explosion means account passwords are multiplying, which exposes corporate data and leads to help desk calls from frustrated users. This paper will discover how IT can improve user productivity, gain visibility and control over SaaS and mobile apps, and stop password sprawl. Download this white paper to learn: How you can leverage your existing AD to manage app access. Key capabilities to …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds