Subject Re: [IBO] An example - please
Author Jason Wharton
Art,

> > [Art] suggested that you consider using ClientDatasets.
> > I strongly discourage this suggestion. With IBO there
> > is absolutely no need to use client datasets at all.
>
> I was thinking of a master-detail data entry form. I think it's easier to
> attach a dbGrid to an in-memory dataset and let Delphi handle the
allocation
> of records or calculated fields as needed. Are you suggesting that with
IBO
> this should be done directly against the server, with the possibility of a
> long-running transaction?

With IBO you can use cached updates along with master-detail no problem.
Even if you need to visit multiple master records during the same batch of
updates. IBO keeps the records and cached update buffers all nice an
organized so that this is no problem.

Also, since you are using cached updates there is nothing hanging up your
transaction either. IBO can always resolve your transaction for the purpose
of OAT advancement when you are using cached updates.

In most all cases though, it is perfectly reasonable to use transactions
without cached updates. Even if the transaction may take 30 minutes. This of
course depends on how you are using your records and what types of
contentions you might have come about. Update conflicts are the only gotcha
where this is concerned. I design my apps in a way that this is usually
never an issue.

> > Using client datasets is excellent advice if you are using
> > IBX because its
> > transaction handling is so primitive and immature but it is
> > a horrible and
> > unnecessary amount of work if you are using IBO.
>
> Perhaps I simply learned bad habits from using the BDE against Oracle and
> need to "rollback".

I rolled back my Oracle knowledge a long time ago. One of the better moves
of my career...

Regards,
Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com