Logo Search packages:      
Sourcecode: poco version File versions  Download package

Poco::Data::ODBC::ODBCStatementImpl Class Reference

#include <ODBCStatementImpl.h>

Inheritance diagram for Poco::Data::ODBC::ODBCStatementImpl:

Poco::Data::StatementImpl Poco::RefCountedObject

List of all members.

Detailed Description

Implements statement functionality needed for ODBC.

Definition at line 65 of file ODBCStatementImpl.h.

Public Types

typedef std::vector< ODBCColumn * > ColumnPtrVec
enum  State {

Public Member Functions

template<typename T>
void add (const T &t)
 Destroys the StatementImpl.
void addBinding (AbstractBinding *info)
void addExtract (AbstractExtraction *info)
 Registers the Binding at the StatementImpl.
void duplicate () const
Poco::UInt32 execute ()
 Create a string version of the SQL statement.
State getState () const
 Resets the statement, so that we can reuse all bindings and re-execute again.
 ODBCStatementImpl (SessionImpl &rSession)
int referenceCount () const
void release () const
 Increments the object's reference count.
void reset ()
 Executes a statement. Returns the number of rows extracted.
void setExtractionLimit (const Limit &extrLimit)
 Registers objects used for extracting data at the StatementImpl.
std::string toString () const
 Changes the extractionLimit to extrLimit. Per default no limit (EXTRACT_UNLIMITED) is set.
 ~ODBCStatementImpl ()
 Creates the ODBCStatementImpl.

Protected Member Functions

AbstractBinderbinder ()
 Returns the concrete extractor used by the statement.
void bindImpl ()
 Compiles the statement, doesn't bind yet.
AbstractBindingVec & bindings ()
 Returns the bindings.
const AbstractBindingVec & bindings () const
 Returns the number of columns that the extractors handle.
bool canBind () const
int columnsExtracted () const
 Returns the concrete binder used by the statement.
Poco::UInt32 columnsReturned () const
 Destroys the ODBCStatementImpl.
void compileImpl ()
 Returns true if a valid statement is set and we can bind.
AbstractExtractionVec & extractions ()
 Returns the bindings.
const AbstractExtractionVec & extractions () const
 Returns the concrete extractor used by the statement.
AbstractExtractorextractor ()
 Binds parameters.
bool hasNext ()
 Returns column meta data.
void makeExtractors (Poco::UInt32 count)
 Returns the extractions vector.
const MetaColumnmetaColumn (const std::string &name) const
 Returns column meta data.
const MetaColumnmetaColumn (Poco::UInt32 pos) const
 Returns number of columns returned by query.
std::string nativeSQL ()
 Returns the concrete binder used by the statement.
void next ()
 Returns true if a call to next() will return data.

Private Types

 Returns the SQL string as modified by the driver.

Private Member Functions

void checkError (SQLRETURN rc, const std::string &msg="")
void clear ()
void fillColumns ()
bool hasData () const
 Closes the cursor and resets indicator variables.
bool nextRowReady () const
 Returns true if statement returns data.
void putData ()
 Returns true if there is a row fetched but not yet extracted.

Private Attributes

ColumnPtrVec _columnPtrs
int _nextResponse
Poco::SharedPtr< Binder_pBinder
Poco::SharedPtr< Extractor_pExtractor
Poco::SharedPtr< Preparation_pPreparation
bool _stepCalled
const StatementHandle _stmt

Static Private Attributes

static const std::string INVALID_CURSOR_STATE = "24000"

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index