TSmartQuery compatibility issue

Discussion of open issues, suggestions and bugs regarding ODAC (Oracle Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
iglind
Posts: 2
Joined: Mon 17 Mar 2008 11:15

TSmartQuery compatibility issue

Post by iglind » Mon 17 Mar 2008 12:22

Behaviour of the TSmartQuery component has been changed after upgrading ODAC from 5.80 to 6.25. After assigning

Code: Select all

SELECT RTrim(t.SomeField) AS SomeField, t.RowID FROM SomeTable t
to SQL property, and opening TSmartQuery, field SomeField is ReadOnly in newer ODAC, but was editable in older. ODAC 5.80 also generated valid UPDATE clause for the field SomeField. In this case, I do not need to revert the function (RTrim), and updating the field “as is” was OK.
Can I get old ODAC behaviour back somehow? THNX

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Tue 18 Mar 2008 08:34

There was a bug in old ODAC version. Expressions cannot be editable automatically.

To make SomeField editable set SetFieldsReadOnly option of TSmartQuery to False. You should also assign values to SQLInsert and SQLUpdate properties.

iglind
Posts: 2
Joined: Mon 17 Mar 2008 11:15

Post by iglind » Tue 18 Mar 2008 09:35

Thank you for reply!
Plash wrote:There was a bug in old ODAC version. Expressions cannot be editable automatically.
It’s a pity, as RTrim is a very special function for CHAR fields. If I remove RTrim functions from SELECT, can setting TSmartQuery.Options.TrimFixedChar to True help me to diminish network traffic and/or client memory usage? THNX

Plash
Devart Team
Posts: 2844
Joined: Wed 10 May 2006 07:09

Post by Plash » Wed 19 Mar 2008 08:23

When TrimFixedChar option is set to True, strings are trimmed on the client. So this option does not diminish network traffic.
However, client memory usage is reduced.

Post Reply