Poco::Data::ODBC

class Binder

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

Description

Binds placeholders in the sql query to the provided values. Performs data types mapping.

Inheritance

Direct Base Classes: Poco::Data::AbstractBinder

All Base Classes: Poco::Data::AbstractBinder

Member Summary

Member Functions: bind, getDataBinding, parameterSize, reset, setDataBinding, synchronize

Inherited Functions: bind, isInBound, isOutBound, reset, reverseTranscode, toString, transcode, transcodeRequired

Types

Direction

typedef AbstractBinder::Direction Direction;

ParamMap

typedef std::map < SQLPOINTER, SQLLEN > ParamMap;

Enumerations

ParameterBinding

PB_IMMEDIATE

PB_AT_EXEC

Constructors

Binder

Binder(
    const StatementHandle & rStmt,
    std::size_t maxFieldSize,
    ParameterBinding dataBinding = PB_IMMEDIATE,
    const TypeInfo * pDataTypes = 0,
    Poco::TextEncoding::Ptr pFromEncoding = nullptr,
    Poco::TextEncoding::Ptr pDBEncoding = nullptr
);

Creates the Binder.

Destructor

~Binder virtual

~Binder();

Destroys the Binder.

Member Functions

bind virtual inline

void bind(
    std::size_t pos,
    const Poco::Int8 & val,
    Direction dir
);

Binds an Int8.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::Int8 > & val,
    Direction dir
);

Binds an Int8 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::Int8 > & val,
    Direction dir
);

Binds an Int8 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::Int8 > & val,
    Direction dir
);

Binds an Int8 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::UInt8 & val,
    Direction dir
);

Binds an UInt8.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::UInt8 > & val,
    Direction dir
);

Binds an UInt8 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::UInt8 > & val,
    Direction dir
);

Binds an UInt8 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::UInt8 > & val,
    Direction dir
);

Binds an UInt8 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::Int16 & val,
    Direction dir
);

Binds an Int16.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::Int16 > & val,
    Direction dir
);

Binds an Int16 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::Int16 > & val,
    Direction dir
);

Binds an Int16 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::Int16 > & val,
    Direction dir
);

Binds an Int16 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::UInt16 & val,
    Direction dir
);

Binds an UInt16.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::UInt16 > & val,
    Direction dir
);

Binds an UInt16 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::UInt16 > & val,
    Direction dir
);

Binds an UInt16 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::UInt16 > & val,
    Direction dir
);

Binds an UInt16 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::Int32 & val,
    Direction dir
);

Binds an Int32.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::Int32 > & val,
    Direction dir
);

Binds an Int32 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::Int32 > & val,
    Direction dir
);

Binds an Int32 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::Int32 > & val,
    Direction dir
);

Binds an Int32 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::UInt32 & val,
    Direction dir
);

Binds an UInt32.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::UInt32 > & val,
    Direction dir
);

Binds an UInt32 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::UInt32 > & val,
    Direction dir
);

Binds an UInt32 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::UInt32 > & val,
    Direction dir
);

Binds an UInt32 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::Int64 & val,
    Direction dir
);

Binds an Int64.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::Int64 > & val,
    Direction dir
);

Binds an Int64 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::Int64 > & val,
    Direction dir
);

Binds an Int64 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::Int64 > & val,
    Direction dir
);

Binds an Int64 list.

bind virtual

void bind(
    std::size_t pos,
    const Poco::UInt64 & val,
    Direction dir
);

Binds an UInt64.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Poco::UInt64 > & val,
    Direction dir
);

Binds an UInt64 vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Poco::UInt64 > & val,
    Direction dir
);

Binds an UInt64 deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Poco::UInt64 > & val,
    Direction dir
);

Binds an UInt64 list.

bind virtual

void bind(
    std::size_t pos,
    const bool & val,
    Direction dir
);

Binds a boolean.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < bool > & val,
    Direction dir
);

Binds a boolean vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < bool > & val,
    Direction dir
);

Binds a boolean deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < bool > & val,
    Direction dir
);

Binds a boolean list.

bind virtual

void bind(
    std::size_t pos,
    const float & val,
    Direction dir
);

Binds a float.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < float > & val,
    Direction dir
);

Binds a float vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < float > & val,
    Direction dir
);

Binds a float deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < float > & val,
    Direction dir
);

Binds a float list.

bind virtual

void bind(
    std::size_t pos,
    const double & val,
    Direction dir
);

Binds a double.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < double > & val,
    Direction dir
);

Binds a double vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < double > & val,
    Direction dir
);

Binds a double deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < double > & val,
    Direction dir
);

Binds a double list.

bind virtual

void bind(
    std::size_t pos,
    const char & val,
    Direction dir
);

Binds a single character.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < char > & val,
    Direction dir
);

Binds a character vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < char > & val,
    Direction dir
);

Binds a character deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < char > & val,
    Direction dir
);

Binds a character list.

bind virtual

void bind(
    std::size_t pos,
    const std::string & val,
    Direction dir
);

Binds a string.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < std::string > & val,
    Direction dir
);

Binds a string vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < std::string > & val,
    Direction dir
);

Binds a string deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < std::string > & val,
    Direction dir
);

Binds a string list.

bind virtual

void bind(
    std::size_t pos,
    const UTF16String & val,
    Direction dir
);

Binds a string.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < UTF16String > & val,
    Direction dir
);

Binds a string vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < UTF16String > & val,
    Direction dir
);

Binds a string deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < UTF16String > & val,
    Direction dir
);

Binds a string list.

bind virtual

void bind(
    std::size_t pos,
    const BLOB & val,
    Direction dir
);

Binds a BLOB. In-bound only.

bind virtual

void bind(
    std::size_t pos,
    const CLOB & val,
    Direction dir
);

Binds a CLOB. In-bound only.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < BLOB > & val,
    Direction dir
);

Binds a BLOB vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < BLOB > & val,
    Direction dir
);

Binds a BLOB deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < BLOB > & val,
    Direction dir
);

Binds a BLOB list.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < CLOB > & val,
    Direction dir
);

Binds a CLOB vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < CLOB > & val,
    Direction dir
);

Binds a CLOB deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < CLOB > & val,
    Direction dir
);

Binds a CLOB list.

bind virtual

void bind(
    std::size_t pos,
    const Date & val,
    Direction dir
);

Binds a Date.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Date > & val,
    Direction dir
);

Binds a Date vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Date > & val,
    Direction dir
);

Binds a Date deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Date > & val,
    Direction dir
);

Binds a Date list.

bind virtual

void bind(
    std::size_t pos,
    const Time & val,
    Direction dir
);

Binds a Time.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < Time > & val,
    Direction dir
);

Binds a Time vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < Time > & val,
    Direction dir
);

Binds a Time deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < Time > & val,
    Direction dir
);

Binds a Time list.

bind virtual

void bind(
    std::size_t pos,
    const DateTime & val,
    Direction dir
);

Binds a DateTime.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < DateTime > & val,
    Direction dir
);

Binds a DateTime vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < DateTime > & val,
    Direction dir
);

Binds a DateTime deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < DateTime > & val,
    Direction dir
);

Binds a DateTime list.

bind virtual

void bind(
    std::size_t pos,
    const UUID & val,
    Direction dir
);

Binds a UUID.

bind virtual

void bind(
    std::size_t pos,
    const NullData & val,
    Direction dir
);

Binds a null. In-bound only.

bind virtual

void bind(
    std::size_t pos,
    const std::vector < NullData > & val,
    Direction dir
);

Binds a null vector.

bind virtual

void bind(
    std::size_t pos,
    const std::deque < NullData > & val,
    Direction dir
);

Binds a null deque.

bind virtual

void bind(
    std::size_t pos,
    const std::list < NullData > & val,
    Direction dir
);

Binds a null list.

bind inline

template < typename T > void bind(
    std::size_t pos,
    const std::vector < Nullable < T >> & val,
    Direction dir
);

Binds a nullable vector.

bind inline

template < typename T > void bind(
    std::size_t pos,
    const std::deque < Nullable < T >> & val,
    Direction dir
);

Binds a nullable deque.

bind inline

template < typename T > void bind(
    std::size_t pos,
    const std::list < Nullable < T >> & val,
    Direction dir
);

Binds a nullable list.

getDataBinding inline

ParameterBinding getDataBinding() const;

Return data binding type.

parameterSize

std::size_t parameterSize(
    SQLPOINTER pAddr
) const;

Returns bound data size for parameter at specified position.

reset virtual

void reset();

Clears the cached storage.

setDataBinding inline

void setDataBinding(
    ParameterBinding binding
);

Set data binding type.

synchronize

void synchronize();

Transfers the results of non-POD outbound parameters from internal holders back into the externally supplied buffers.

Variables

DEFAULT_PARAM_SIZE static

static const size_t DEFAULT_PARAM_SIZE = 1024;