Subject Re: [IBO] error open
Author Helen Borrie
At 04:30 PM 27/09/2003 +0200, you wrote:
>in project reuse IB_Query component:
>set SQL, KeyLinks, FieldsVisible & etc properties & then open - there is no
>errors. Later clear old settings (SQL->Clear(),KeyLinks->Clear() & etc),
>then set new settings (SQL, KeyLinks & other stuff), then when trying to
>open query, got error, that field from the first query couldn't be found -
>but I'm sure, that all used properties got cleared before setting new values.
>Maybe cache/buffer is used, so error occures?

No. SQL.Clear will clear everything (including buffers) and reconstruct
field and parameter objects when the new SQL is prepared.

The most likely cause is a ParamByName reference in your code, that refers
to the old query contents. Other possible causes - presence or absence of
required double quotes in SQL, ParamByName, FieldByName, KeyLinks,
etc.; jumbled parameters caused by using Fb 1.5 without setting the
server's OldParameterOrdering parameter to true (=1) in firebird.conf.

As a general rule (IMO) you are making a rod for your back by re-using
dataset components. Create them in the IDE and keep them unprepared until
(or in case) you need to use them. Of course, if you are potentially
creating a gazillion datasets in a single form instance, that's a different
design issue...

Helen