Serialize an object to insert into a Access table

Last post 06-30-2009 7:10 PM by SGWellens. 1 replies.

Sort Posts:

  • Serialize an object to insert into a Access table

    06-30-2009, 3:21 PM
    • Member
      3 point Member
    • FCP_88
    • Member since 02-23-2009, 12:01 PM
    • Posts 19

    Hi.

    I have an application connected to an access database. I am using a Table Adapter to insert/get data from the table.

    I have an object that represents a specific table from the db  with more that 50 fields that i need to insert in the database.

    How can i serialize  that object into something like this (attrib1,atrib2 ...) so i can use the insert method of table adapter?

    I can get all the attributes of the object one by one but that would be very time consuming.


  • Re: Serialize an object to insert into a Access table

    06-30-2009, 7:10 PM
    Answer
    • All-Star
      86,899 point All-Star
    • SGWellens
    • Member since 01-02-2007, 9:27 PM
    • Twin Cities, MN
    • Posts 7,111
    • Moderator
      TrustedFriends-MVPs

    You could try serializing it to an XML string using these functions:

        /// ---- SerializeAnObject -----------------------------
        /// <summary>
        /// Serialize an object
        /// </summary>
        /// <param name="AnObject">The Object to serialize</param>
        /// <returns>XML</returns>
        
        public static string SerializeAnObject(object AnObject)
        {
            XmlDocument XmlDoc = new XmlDocument();
            XmlSerializer Xml_Serializer = new XmlSerializer(AnObject.GetType()); 
            MemoryStream MemStream = new MemoryStream();
            try
            { 
                Xml_Serializer.Serialize(MemStream, AnObject); 
                MemStream.Position = 0; 
                XmlDoc.Load(MemStream); 
                return XmlDoc.InnerXml; 
            }      
            finally 
            { 
                MemStream.Close(); 
            }
        }
    
        /// ---- DeSerializeAnObject ------------------------------
        /// <summary>
        /// DeSerialize an object
        /// </summary>
        /// <param name="XmlOfAnObject"> The XML</param>
        /// <param name="ObjectType">The type of object</param>
        /// <returns>The deserialized object...must be cast to correct type</returns>
        
        public static Object DeSerializeAnObject(string XmlOfAnObject, Type ObjectType)
        {       
            StringReader StrReader = new StringReader(XmlOfAnObject);
            XmlSerializer Xml_Serializer = new XmlSerializer(ObjectType);
            XmlTextReader XmlReader = new XmlTextReader(StrReader);
            try
            {
                Object AnObject = Xml_Serializer.Deserialize(XmlReader);
                return AnObject;
            }
            finally
            {
                XmlReader.Close();
                StrReader.Close();
            }
        }
    


     

    Steve Wellens

    My blog
Page 1 of 1 (2 items)