Page 1 of 1

TUniQuery throws 'Illegal filter expression'

Posted: Mon 07 Mar 2011 16:14
by TinTin
My debug environment:
delphi xe + sqlite3( new version) + UniDAC 3.5.0.14

TUniQuery throws 'Illegal filter expression' if Compare Float Value.

My Filter expression is :
TUniQuery.Filter := 'AMT - AMT2 > 0'

AMT and AM2 is SQLITE TFloatField.
debug break in "MemData.Pas",Line is 4023,Method
"Filter Error!"

Re: TUniQuery throws 'Illegal filter expression'

Posted: Mon 07 Mar 2011 16:19
by TinTin
TinTin wrote:My debug environment:
delphi xe + sqlite3( new version) + UniDAC 3.5.0.14

TUniQuery throws 'Illegal filter expression' if Compare Float Value.

My Filter expression is :
TUniQuery.Filter := 'AMT - AMT2 > 0'

AMT and AM2 is SQLITE TFloatField.
debug break in "MemData.Pas",Line is 4023,Method
"Filter Error!"
---------
If only compare one value is OK!
Such is
TUniQuery.Filter := 'AMT >0'
TUniQuery.Filter := 'AMT2 >0'

if I write Filter is ok:
'AMT > AMT2 'SO it is a bug:
'AMT - AMT2 > 0'???

Posted: Wed 09 Mar 2011 08:16
by AlexP
Hello,

Now the filter property doesn't support arithmetic operations.
We will investigate the possibility of adding this feature in one of the next builds/versions of UniDAC.