# Poco::Data::ODBC

# class Extractor

Library: Data/ODBC
Package: ODBC
Header: Poco/Data/ODBC/Extractor.h

## Description

Extracts and converts data values from the result row returned by ODBC. If NULL is received, the incoming val value is not changed and false is returned

## Inheritance

Direct Base Classes: Poco::Data::AbstractExtractor

All Base Classes: Poco::Data::AbstractExtractor

## Member Summary

Member Functions: extract, getDataExtraction, isNull, reset, setDataExtraction

Inherited Functions: extract, isNull, reset, reverseTranscode, transcode, transcodeRequired

## Types

### PreparatorPtr

typedef Preparator::Ptr PreparatorPtr;

## Constructors

### Extractor

Extractor(
const StatementHandle & rStmt,
Preparator::Ptr pPreparator,
Poco::TextEncoding::Ptr pDBEncoding = nullptr,
Poco::TextEncoding::Ptr pToEncoding = nullptr
);

Creates the Extractor.

## Destructor

### ~Extractor

~Extractor() override;

Destroys the Extractor.

## Member Functions

### extract

bool extract(
std::size_t pos,
Poco::Int8 & val
) override;

Extracts an Int8.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Int8 > & val
) override;

Extracts an Int8 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Int8 > & val
) override;

Extracts an Int8 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::Int8 > & val
) override;

Extracts an Int8 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::UInt8 & val
) override;

Extracts an UInt8.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::UInt8 > & val
) override;

Extracts an UInt8 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::UInt8 > & val
) override;

Extracts an UInt8 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::UInt8 > & val
) override;

Extracts an UInt8 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Int16 & val
) override;

Extracts an Int16.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Int16 > & val
) override;

Extracts an Int16 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Int16 > & val
) override;

Extracts an Int16 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::Int16 > & val
) override;

Extracts an Int16 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::UInt16 & val
) override;

Extracts an UInt16.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::UInt16 > & val
) override;

Extracts an UInt16 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::UInt16 > & val
) override;

Extracts an UInt16 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::UInt16 > & val
) override;

Extracts an UInt16 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Int32 & val
) override;

Extracts an Int32.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Int32 > & val
) override;

Extracts an Int32 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Int32 > & val
) override;

Extracts an Int32 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::Int32 > & val
) override;

Extracts an Int32 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::UInt32 & val
) override;

Extracts an UInt32.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::UInt32 > & val
) override;

Extracts an UInt32 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::UInt32 > & val
) override;

Extracts an UInt32 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::UInt32 > & val
) override;

Extracts an UInt32 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Int64 & val
) override;

Extracts an Int64.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Int64 > & val
) override;

Extracts an Int64 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Int64 > & val
) override;

Extracts an Int64 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::Int64 > & val
) override;

Extracts an Int64 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::UInt64 & val
) override;

Extracts an UInt64.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::UInt64 > & val
) override;

Extracts an UInt64 vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::UInt64 > & val
) override;

Extracts an UInt64 deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::UInt64 > & val
) override;

Extracts an UInt64 list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
bool & val
) override;

Extracts a boolean.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < bool > & val
) override;

Extracts a boolean vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < bool > & val
) override;

Extracts a boolean deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < bool > & val
) override;

Extracts a boolean list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
float & val
) override;

Extracts a float.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < float > & val
) override;

Extracts a float vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < float > & val
) override;

Extracts a float deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < float > & val
) override;

Extracts a float list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
double & val
) override;

Extracts a double.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < double > & val
) override;

Extracts a double vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < double > & val
) override;

Extracts a double deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < double > & val
) override;

Extracts a double list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
char & val
) override;

Extracts a single character.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < char > & val
) override;

Extracts a single character vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < char > & val
) override;

Extracts a single character deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < char > & val
) override;

Extracts a single character list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::string & val
) override;

Extracts a string.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < std::string > & val
) override;

Extracts a string vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < std::string > & val
) override;

Extracts a string deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < std::string > & val
) override;

Extracts a string list. Extracts a single character list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
UTF16String & val
) override;

Extracts a string.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < UTF16String > & val
) override;

Extracts a string vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < UTF16String > & val
) override;

Extracts a string deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < UTF16String > & val
) override;

Extracts a string list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Data::BLOB & val
) override;

Extracts a BLOB.

### extract

bool extract(
std::size_t pos,
Poco::Data::CLOB & val
) override;

Extracts a CLOB.

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Data::BLOB > & val
) override;

Extracts a BLOB vector.

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Data::BLOB > & val
) override;

Extracts a BLOB deque.

### extract

bool extract(
std::size_t pos,
std::list < Poco::Data::BLOB > & val
) override;

Extracts a BLOB list.

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Data::CLOB > & val
) override;

Extracts a CLOB vector.

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Data::CLOB > & val
) override;

Extracts a CLOB deque.

### extract

bool extract(
std::size_t pos,
std::list < Poco::Data::CLOB > & val
) override;

Extracts a CLOB list.

### extract

bool extract(
std::size_t pos,
Poco::Data::Date & val
) override;

Extracts a Date.

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Data::Date > & val
) override;

Extracts a Date vector.

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Data::Date > & val
) override;

Extracts a Date deque.

### extract

bool extract(
std::size_t pos,
std::list < Poco::Data::Date > & val
) override;

Extracts a Date list.

### extract

bool extract(
std::size_t pos,
Poco::Data::Time & val
) override;

Extracts a Time.

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Data::Time > & val
) override;

Extracts a Time vector.

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Data::Time > & val
) override;

Extracts a Time deque.

### extract

bool extract(
std::size_t pos,
std::list < Poco::Data::Time > & val
) override;

Extracts a Time list.

### extract

bool extract(
std::size_t pos,
Poco::DateTime & val
) override;

Extracts a DateTime.

### extract

bool extract(
std::size_t pos,
std::vector < Poco::DateTime > & val
) override;

Extracts a DateTime vector.

### extract

bool extract(
std::size_t pos,
std::deque < Poco::DateTime > & val
) override;

Extracts a DateTime deque.

### extract

bool extract(
std::size_t pos,
std::list < Poco::DateTime > & val
) override;

Extracts a DateTime list.

### extract

bool extract(
std::size_t pos,
Poco::UUID & val
) override;

Extracts a UUID.

### extract

bool extract(
std::size_t pos,
Poco::Any & val
) override;

Extracts an Any.

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Any > & val
) override;

Extracts an Any vector.

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Any > & val
) override;

Extracts an Any deque.

### extract

bool extract(
std::size_t pos,
std::list < Poco::Any > & val
) override;

Extracts an Any list.

### extract

bool extract(
std::size_t pos,
Poco::Dynamic::Var & val
) override;

Extracts a Dynamic::Var.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::vector < Poco::Dynamic::Var > & val
) override;

Extracts a Dynamic::Var vector.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::deque < Poco::Dynamic::Var > & val
) override;

Extracts a Dynamic::Var deque.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
std::list < Poco::Dynamic::Var > & val
) override;

Extracts a Dynamic::Var list.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::Int8 > & val
) override;

Extracts a Nullable Int8.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::UInt8 > & val
) override;

Extracts a Nullable UInt8.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::Int16 > & val
) override;

Extracts a Nullable Int16.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::UInt16 > & val
) override;

Extracts a Nullable UInt16.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::Int32 > & val
) override;

Extracts a Nullable Int32.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::UInt32 > & val
) override;

Extracts a Nullable UInt32.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::Int64 > & val
) override;

Extracts a Nullable Int64.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::UInt64 > & val
) override;

Extracts a Nullable UInt64.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < bool > & val
) override;

Extracts a Nullable bool.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < float > & val
) override;

Extracts a Nullable float.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < double > & val
) override;

Extracts a Nullable double.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < char > & val
) override;

Extracts a Nullable char.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < std::string > & val
) override;

Extracts a Nullable string.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < UTF16String > & val
) override;

Extracts a Nullable UTF16String.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < BLOB > & val
) override;

Extracts a Nullable BLOB.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < CLOB > & val
) override;

Extracts a Nullable CLOB.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < DateTime > & val
) override;

Extracts a Nullable DateTime.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Date > & val
) override;

Extracts a Nullable Date.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Time > & val
) override;

Extracts a Nullable Time.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < UUID > & val
) override;

Extracts a Nullable UUID.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Any > & val
) override;

Extracts a Nullable Any.

See also: Poco::Data::AbstractExtractor::extract()

### extract

bool extract(
std::size_t pos,
Poco::Nullable < Poco::Dynamic::Var > & val
) override;

Extracts a Nullable Var.

See also: Poco::Data::AbstractExtractor::extract()

### getDataExtraction

Preparator::DataExtraction getDataExtraction() const;

Returns data extraction mode.

### isNull

bool isNull(
std::size_t col,
std::size_t row = POCO_DATA_INVALID_ROW
) override;

Returns true if the value at [col,row] is null.

See also: Poco::Data::AbstractExtractor::isNull()

### reset

void reset() override;

Resets the internally cached length indicators.

See also: Poco::Data::AbstractExtractor::reset()

### setDataExtraction

void setDataExtraction(
Preparator::DataExtraction ext
);

Set data extraction mode.