Subject Re: [IBO] Migrating BDE/Paradox to Firebird
Author Helen Borrie
At 11:49 AM 27/10/2005 +0000, you wrote:
>I'm migrating some tables from Paradox to Firebird using IBO TDataset
>components... Replacing TTable by TIBOTable, and TQuery by TIBOQuery...
>Im having two problems:
>1) I have a Varchar(10) field that have '01-002' (by example), without
>blanks on the end, and in my application when I try to locate using
>locate method from TIBOTable, passing the value '01-002 ' (with
>blanks on the end, because it comes this way from my edit component),
>the method cant locate the record, and when I was using TTable, worked
>fine this way.

Forget the BDE and Paradox, they don't know about varchars! Do not read
database string values from edit controls, read them from the dataset.

>2) I have some queries where I have where clauses like 'Where Enabled =
>True', well I get error, because there's no "True" field. IBO provides
>some automatic way to chance my "True" constants do "'Y'" on the fly?

You can use the ColumnAttributes property (a stringlist) to make it work
like a Boolean in controls and for things like AsBoolean to set some other
(non-data-aware) property.
Your entry would look like this: (assuming your values are 'Y' and 'N')


However, because searches use SQL, you will need to change your present
search argument to the actual database value, Enabled = 'Y'. Also be aware
that, if your Enabled column is not constrained to be NOT NULL, then in
Fb/IB, the value could be NULL. (Paradox Logical type doesn't have
this.) Also, users could potentially type anything into the field unless
you constrain it to be only 'Y' or 'N'.