Subject RE: [IBO] BufferFieldByName & Co.
Author Jason Wharton
> I read in IBO FAQs that there's a set of methods to iterate rows in a
> dataset without disturbing the dataset's active record and the
> data-bound fields. This can help me solve many problems, but there are
> still some things that aren't clear.
>
> 1. I use TIBO* components - how can I access the Buffer* methods for a
> TIBODataset?

You really shouldn't mess with the internal buffer information of the
internal dataset of the TIBODataset based components. You might find it
works but it is an unsupported usage.

The standard data aware components have a different approach for how this
should work. In this you call DisableControls and then just directly use
the dataset and then put the record pointer back yourself and then call
EnableControls to finish what you are doing.

> 2. It seems that it's possible to WRITE a value to a field in the
> buffer without triggering any server update. Will data aware controls
> "see" the new value?

They should be read only. If you make changes to them you would only be
changing the data in the memory buffers and not actually having the updates
resolved on the server via SQL.

> 3. If not, is there any other way to make the update pass through to
> the dataset (so data aware controls will see it), but still without
> triggering a server update?

Please clarify what you mean here. I'm not clear on what benefit you are
looking for.

> 4. If I obtain a bookmark through the standard dataset property, and
> use that bookmark with BufferBookmark - will this make the same record
> active in both the dataset and the buffer?

Not necessarily. You actually have two record pointers to work with when
using native IBO buffered datasets.

Jason Wharton