From RAD Studio API Documentation
Jump to: navigation, search


property UpdateNonBaseFields: Boolean read GetUpdateNonBaseFields  write SetUpdateNonBaseFields stored IsUNFS default False;


__property bool UpdateNonBaseFields = {read=GetUpdateNonBaseFields, write=SetUpdateNonBaseFields, stored=IsUNFS, default=0};


Type Visibility Source Unit Parent
property published
FireDAC.Stan.Option TFDUpdateOptions


Controls whether fields from the joined non-base table should be included in the UPDATE or INSERT command.

Use UpdateNonBaseFields to enable (True) or disable (False) non-base table fields inclusion in the UPDATE or INSERT command. The default value is False.

UpdateNonBaseFields must be specified before preparing/opening a dataset. 

The option is useful when the original SQL command is SELECT with joins of several tables. The first leftmost table is a base table. Which columns are base and which are non-base is determined using SELECT list metadata - the original name of the table in which the column is located, the original name of the column. Most DBMSs, with the exception of Oracle and Advantage, return this information. See Overriding Posting Updates for details on how to set up a DBMS to return this info.

Note: In the following SELECT cases, all fields can be non-base fields:

  • with set operators - UNION, INTERSECT, MINUS, etc.
  • with grouping.

In most cases, updates must be allowed to the base table columns only and prohibited for other "lookup" tables. To do so, set UpdateNonBaseFields to False. If the application needs to exclude non-base columns from the updating SQL commands, but enable editing for them, then set CheckReadOnly to False.

See Also