Subject Re: [IBO] Beginning IBO
Author Helen Borrie
At 03:08 AM 22/12/2006, you wrote:
>Hello everyone,
>
>I took over a project which accesses firebird through IBO.
>I used to do this via IBX.
>Now I see no way to switch the project "easy" to something I know about.
> Documentation of IBO is not really helpful, nor is any of the help
>resources offline or online.
>
>The code I see is written in some very "personal" way, so "learning
>from the best" does not work also.
>
>My Questions:
>Is there a way to reference fields like in IBX ? (TableFieldname.value)

You are talking about persistent field objects. These are supported
in the TDataset-compatible components (TIBO--- on the iboTDataset
palette). The native IBO components (TIB_---) use a different model
that might be difficult to understand if you haven't done much
client/server DB access work before.

>Do I have to compose the SQL always via my code or is it possible to
>write it with parameters right to the SQL Property?

This isn't a very clear question. Each statement access class, like
the equivalents in the VCL and IBX, has a SQL property to take your
statement. They can be (and should be) parameterised.

>How can I Access the Parameters of a query if I do so?

Params for the input parameters, Fields for the output parameters.

>Is there any Documentation that enables me to get results rather than
>frustration?

There is a 10.5 Mb help file, which you can download free. Make sure
that you read through the topics in the front section of this file.

There is an eBook named Getting Starting with IBO, "the GSG", which
you can buy online (or get free with the IBO "bundle"
subscriptions). However, if you inherited the project and the
licence subscriptions, it's possible that you already have it. Its
filename is GettingStarted.hlp.

>To be honest, at this moment I would gladly go back to IBX, but this
>is the only Job I have, so I have to get used to it. And still want to.

Then you're serious and you won't be sorry. :-) But you won't find a
lot of "IBX deja vue" in IBO. For a number of reasons, IBX is full
of workarounds stacked on top of workarounds, that don't make good
architectural sense.

IBO is not one set of components, but two.

-- As mentioned earlier, the TIBO-- classes provide compatibility
with the VCL TDatasource and controls that expect TDatasource. They
include TIBOTable and TIBODatabase for compatibility with the VCL components.

-- the TIB_-- classes are "native IBO'. They are a lot more flexible
than the TDataset-compatible series and include their own controls
and the TIB_Datasource. They are also less easy to learn than the
more familiar TDataset-compatible series.

As a first thing, examine your project[s] to work out which series is
being used. Post questions about areas of the project's code that
you don't understand.
When you do so, remember to include details of the Delphi, IBO and
DBMS engine versions that are in use.

Helen