Subject Serious issue (I think)
Author Robert Martin
Hi Jason

I am running 5.3.5 1996 and have discovered the following issue, I am
planning to upgrade to the latest version to see if this issue is
rectified but can't do so immediately. I am posting this so if your
were not aware of it you have the opportunity to investigate without
waiting for me to upgrade and confirm it is still an issue.

//a TIBOQuery on a datamodule.

a.SQL.Clear;
a.SQL.Add('UPDATE aTable SET Field a = :a, b= :b c= :c WHERE pk = :Pk');
a.Prepare;

//Load all params

a.ExecSQL;

//All OK

//Later in code, with the same component, do the following


a.SQL.Clear;
a.SQL.Add('UPDATE aTable SET Field z = :z, y= :y c= :c WHERE pk = :Pk');
a.Prepare;

//Load params APART FROM 'c'

a.ExecuSQL;

//The outcome is that 'c' is populated with the value used in the first
SQL rather than NULL as expected.


Yes we shouldn't have parameters that are specified but not populated,
in this case it was a cut and paste error, however there are valid times
when you might have this scenario. I think SQL.Clear should also clear
any parameters.

If this is fixed in more recent releases please let me know.

Cheers
Rob