[Overview][Constants][Types][Classes][Procedures and functions][Index] | Reference for unit 'db' (#fcl)

# TVariantField

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Field class for native variant data

## Declaration

Source position: db.pas line 919

`type TVariantField = class(TField)`
`class procedure CheckTypeSize(); override;`
`protected`
`function GetAsBoolean; override;`
`procedure SetAsBoolean(); override;`
`function GetAsDateTime; override;`
`procedure SetAsDateTime(); override;`
`function GetAsFloat; override;`
`procedure SetAsFloat(); override;`
`function GetAsInteger; override;`
`procedure SetAsInteger(); override;`
`function GetAsString; override;`
`procedure SetAsString(); override;`
`function GetAsWideString; override;`
`procedure SetAsWideString(); override;`
`function GetAsVariant; override;`
`procedure SetVarValue(); override;`
`function GetDefaultWidth; override;`
`public`
`constructor Create(); override;` |  | Create a new instance of the TVariantField class
`end;`

## Inheritance

`TVariantField` |  | Field class for native variant data
`TField` |  | Provide access to the contents of a single field in a record
`TComponent,IUnknown,IInterfaceComponentReference`
`TPersistent`
`TObject`

## Description

TVariantField is the class used when a dataset must manage native variant-typed data. (TField.DataType equals ftVariant). It initializes some of the properties of the TField class and overrides some of its methods to be able to work with variant data.

It should never be necessary to create an instance of TVariantField manually, a field of this class will be instantiated automatically for each variant field when a dataset is opened.

## See also

TDataset |  | Base class for records-based data-access
TField |  | Provide access to the contents of a single field in a record

The latest version of this document can be found at lazarus-ccr.sourceforge.net .