Subject | Re: [IBO] Invalid Blob ID |
---|---|
Author | colinriley666 |
Post date | 2003-08-27T14:04:10Z |
--- In IBObjects@yahoogroups.com, Helen Borrie <helebor@t...> wrote:
have
CommitAction := caRefresh
in the TIBOQuery. I experimented a bit more, and removed my call to
TIBOQuery.CommitUpdates which was probably overwriting the new blobid
from the refresh with the old one from the original fetch. Things
appear to be ok now, but I seem to remember that I added
the "CommitUpdates" to fix a previous obscure error which I
unfortunately no longer remember.
>gone
> Once you call the transaction's CommitUpdates method, the record is
> from the cache (even though it is still in the dataset buffer).stored on
>
> Blobs aren't actually part of the record structure: they are
> their own database pages and linked by the blob_id (which is partof the
> record). You never edit blobs: the previous blob image is totallyis
> replaced by a new one and it gets a new blob_id when the "update"
> posted. The new blob_id won't be known in the buffer until youcall
> Refresh on the dataset. Meanwhile, your user sails on with hersecond pass
> at editing this blob and doesn't discover the invalid (old) blob_iduntil
> the second-time update tries to post.successive edit
>
> If you want the new image of the blob to be available for a
> following CommitUpdates, you need to refresh the buffer, so thatthe new
> iblob image, along with its new blob_id, will be re-fetched fromthe server.
>Helen, thanks for the response. I should have mentioned that I
> Helen
have
CommitAction := caRefresh
in the TIBOQuery. I experimented a bit more, and removed my call to
TIBOQuery.CommitUpdates which was probably overwriting the new blobid
from the refresh with the old one from the original fetch. Things
appear to be ok now, but I seem to remember that I added
the "CommitUpdates" to fix a previous obscure error which I
unfortunately no longer remember.