Re: RES: Update problem

From: Mike Kienenberger (mkienen..laska.net)
Date: Wed Jan 19 2005 - 14:17:13 EST

  • Next message: Reinaldo Coelho Sartorelli: "RES: RES: Update problem"

    Reinaldo Coelho Sartorelli <reinaldo.sartorell..ES.com> wrote:
    > I dont use registerNewObject(system) because this is a update and not a
    insert command.
    > This object have a oid registred!!!

    If it's already registered in con, you don't need to register it again.

    If it's registered in another DataContext, either use that old DataContext
    instead of con

            oldCon = system.getDataContext();

    or copy it into con using con.localObjects();

    It's true that localObjects() calls registeredObject() internally, but it
    also performs other checks and optimizations at the same time.

    Registering a modified object in another DataContext is disallowed by
    localObjects(), and that's probably why your update isn't working if con is
    a different DataContext.

    registeredObject() creates a new system object marked HOLLOW, so all of your
    changes will be lost.

    If you're bound and determined to register a modified object in another
    DataContext via registeredObject(), you'll need to manually copy all of the
    properties off the old object and onto the new object.

    You'll have to use a method on the system class to copy it as system's
    values Map (containing all of its properties) is marked protected.

    -Mike



    This archive was generated by hypermail 2.0.0 : Wed Jan 19 2005 - 14:17:13 EST