# Poco::Data::ODBC

# class ODBCStatementImpl

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

## Description

Implements statement functionality needed for ODBC

## Inheritance

Direct Base Classes: Poco::Data::StatementImpl

All Base Classes: Poco::Data::StatementImpl

## Member Summary

Member Functions: affectedRowCount, bindImpl, binder, canBind, canCompile, columnsReturned, compileImpl, extractor, hasNext, metaColumn, nativeSQL, next

Inherited Functions: activateNextDataSet, activatePreviousDataSet, add, addBind, addExtract, affectedRowCount, bindImpl, binder, bindings, canBind, canCompile, columnsExtracted, columnsReturned, compileImpl, currentDataSet, dataSetCount, execute, extractionCount, extractionLimit, extractions, extractor, fixupBinding, fixupExtraction, getExtractionLimit, getState, getStorage, hasMoreDataSets, hasNext, isStoredProcedure, makeExtractors, metaColumn, next, removeBind, reset, resetBinding, rowsExtracted, session, setExtractionLimit, setStorage, subTotalRowCount, toString

## Constructors

### ODBCStatementImpl

ODBCStatementImpl(
SessionImpl & rSession
);

Creates the ODBCStatementImpl.

## Destructor

### ~ODBCStatementImpl

~ODBCStatementImpl();

Destroys the ODBCStatementImpl.

## Member Functions

### affectedRowCount

int affectedRowCount() const;

Returns the number of affected rows. Used to find out the number of rows affected by insert or update.

See also: Poco::Data::StatementImpl::affectedRowCount()

### bindImpl

void bindImpl();

Binds all parameters and executes the statement.

See also: Poco::Data::StatementImpl::bindImpl()

### binder

AbstractBinding::BinderPtr binder();

Returns the concrete binder used by the statement.

See also: Poco::Data::StatementImpl::binder()

### canBind

bool canBind() const;

Returns true if a valid statement is set and we can bind.

See also: Poco::Data::StatementImpl::canBind()

### canCompile

bool canCompile() const;

Returns true if another compile is possible.

See also: Poco::Data::StatementImpl::canCompile()

### columnsReturned

std::size_t columnsReturned() const;

Returns number of columns returned by query.

See also: Poco::Data::StatementImpl::columnsReturned()

### compileImpl

void compileImpl();

Compiles the statement, doesn't bind yet. Does nothing if the statement has already been compiled.

See also: Poco::Data::StatementImpl::compileImpl()

### extractor

AbstractExtraction::ExtractorPtr extractor();

Returns the concrete extractor used by the statement.

See also: Poco::Data::StatementImpl::extractor()

### hasNext

bool hasNext();

Returns true if a call to next() will return data.

See also: Poco::Data::StatementImpl::hasNext()

### metaColumn

const MetaColumn & metaColumn(
std::size_t pos
) const;

Returns column meta data.

See also: Poco::Data::StatementImpl::metaColumn()

### nativeSQL

std::string nativeSQL();

Returns the SQL string as modified by the driver.

### next

std::size_t next();

Retrieves the next row or set of rows from the resultset. Returns the number of rows retrieved. Will throw, if the resultset is empty.

See also: Poco::Data::StatementImpl::next()