Subject Re: [IBO] Basic requirements for a Firebird IBO project?
Author Christian Gütter
Hi,

> I see samples that have different combinations of components and I
> would like to understand when to use which. For instance, I have
> seen a Connection a Transaction and a Query in one application. On
> another I see a Connection, a Dataset, two Query and a Source.

> I can understand the Connection being there and I assume the Source is for the Data Aware objects.

> So what defines when I need a Dataset or a Transaction or both?

You have to differentiate between the IBO native controls and the
IBO compatibility components. The compatibility components should
be used if you want to use components which rely on the Delphi
TDataset.
The native controls (TIB_*) should be used for everything else. You should always start a new application with the native controls, unless
you need TDataset compatibility.

You have probably seen a dataset in a sample application that shows
how IBO integrates with the Delphi TDataset.

A Dataset is something different than a Transaction, you cannot
replace one with the other.

This is now valid for the IBO native controls:
You can use a TIB_Transaction when you want to have explicit control
over a certain transaction. If you do not want to have explicit control, you can leave out the Transaction component. IBO will then
use an internal default transaction.

> What IBO components or Objects should I start out with in all apps?

Basically with the TIB_Connection, so that you can connect to a database. If the application uses data-aware controls, you will have
to use TIB_Queries and TIB_Datasources and some of the data-aware
controls, like TIB_Edit.

In other situations (no data-aware controls, just reading and writing data), you might want to use TIB_Cursor for reading data (it has got
less overhead than TIB_Query). TIB_DSQL will then be your friend for
writing data.

> Why have several Query? Why not have a single Query and bunch of
> TStrings with the SQL requests, then Assign the appropriate TStrings
> for the different requests? I can see the use of several Query for
> different Tables but one sample had 3 query for the one Table.

Where did you see that?

> I have been programming in Delphi for a looong time, but totally
> new to SQL. All of the help stuff I have found so far assumes a good
> understanding of SQL. I need to learn the basics as I like to
> understand why I have to do stuff.

IBO has got a steep learning curve, especially when you have not dealt
with SQL and Delphi database controls before.
But it is definitely worth it!


Cheers,
C.