FireDAC.Stan.Option.TFDFetchItem

From RAD Studio API Documentation
Jump to: navigation, search

Delphi

TFDFetchItem = (fiBlobs, fiDetails, fiMeta);

C++

enum DECLSPEC_DENUM TFDFetchItem : unsigned int { fiBlobs, fiDetails, fiMeta };

Properties

Type Visibility Source Unit Parent
enum public
FireDAC.Stan.Option.pas
FireDAC.Stan.Option.hpp
FireDAC.Stan.Option FireDAC.Stan.Option

Description

Specifies which types of data and metadata to fetch.

Name Description
fiBlobs When included, the BLOB field values will be fetched together with other record fields. Otherwise, the fetching will be deferred until a BLOB value is really read.

Note that excluding fiBlobs from Items does not modify the SELECT list of a SQL command. If a DBMS transfers BLOB values by-value (for example, Oracle LONG, MySQL, SQL Server, SQLite), then BLOB values will be delivered to the client over the network, but they will not be stored in the client records cache. If a DBMS transfers BLOB values by-reference (for example, Oracle CLOB / BLOB, InterBase, Firebird), then BLOB values will not be delivered and stored.

fiDetails When included, the nested cursor fields will be fetched together with other record fields. Otherwise, the fetching will be deferred until a nested cursor value is really read.
fiMeta When included, the command metadata will be fetched. Otherwise, programmers must supply metadata on their own. The type of metadata and the point when it is fetched depends on the command type:
  • TFDCustomStoredProc, TFDCustomCommand.CommandKind = ckStoredProc, etc. The metadata is the description of the stored procedure parameters. It will be fetched at Prepare call. If fiMeta is not in Items, then programmers must fill the Params collection on their own.
  • TFDCustomQuery, TFDCustomCommand.CommandKind = ckSelect, etc. The metadata is the set of base table columns, forming the table primary key. It is used to automatically generate updating SQL commands. The metadata will be fetched at Open / Define calls. If fiMeta is not in Items, then programmers must do one of following to specify PK fields:
    • Include pfInKey into TField.ProviderFlags for PK fields.
    • Set UpdateOptions.KeyFields to the comma separated list of PK field names.
    • Include coInKey in TADDatSColumn.Options for PK columns.

See Also