fatalmind::SQL::BindOutInterface Class Reference

#include <BindOutInterface.hh>

Inherited by fatalmind::SQL::BindOut< VBC, CT >, fatalmind::SQL::BindOut< fatalmind::mysql::SQLRefType, fatalmind::mysql::SQLRefTypeImpl< T > >, fatalmind::SQL::BindOut< fatalmind::oracle::oracleRefType, fatalmind::oracle::oracleRefTypeImpl< T > >, fatalmind::SQL::RTSQLSelect< TM >, and fatalmind::SQL::RTSQLSelectRow< TM >.

List of all members.


Detailed Description

This class defines the common base for all commands returning data in form of a table (like SQLSelect ).

Whenever you expect any table-formatted data back from any command, you can assume that it derives from this class.

see select.cc for an example together with SQLFetcher.

Examples:

select.cc.


Public Member Functions

virtual void bindout (const unsigned int pos, char &val, bool &isnull=notnullconstant)=0
 Specify where the output data of an select statement are to be stored.
virtual void bindout (const unsigned int pos, signed char &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, unsigned char &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, short int &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, unsigned short int &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, int &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, unsigned int &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, long int &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, unsigned long int &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, float &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, double &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, long double &val, bool &isnull=notnullconstant)=0
virtual void bindout (const unsigned int pos, std::string &val, bool &isnull=notnullconstant)=0

Static Public Attributes

static bool notnullconstant

Member Function Documentation

virtual void fatalmind::SQL::BindOutInterface::bindout ( const unsigned int  pos,
char &  val,
bool &  isnull = notnullconstant 
) [pure virtual]

Specify where the output data of an select statement are to be stored.

You need to specify an place where the columns for an select statement are to be stored. After each fetch those variables will be propagated with the actual values received from the select statement. You can also specify a bool which will be used as indicator if the fatched column is NULL. If you omit this third, optional parameter an Exception will be thrown in case a fetched column is NULL.

Parameters:
pos The column number to be bound. Numbering starts with the leftmost column at 0.
val The variable which should contain the value of this column after the fetch. Each time a row is retrieved the according column value value will be available in that variable. The content of the variable will not be changed in case the column is NULL or the execution failed because of an exception. Exclusive access is expected, so there are no synchronization effords taken by the select commands. The variable must be availalbe throughout the whole time of execution.
isnull The optional third argument specifies a bool variable which will be set to true if the fetched column is NULL or to false otherwise. You must supply this indicator variable if you might retrieve NULL for this column. Not supplying an indicator varaible will cause an
Indicator variable required but not supplied.
exception. Well, so if you are sure your result will never be NULL, it's save to not provide the third arguement. In case you were wrong, you will receive an exception.

Implemented in fatalmind::SQL::BindOut< VBC, CT >, fatalmind::SQL::RTSQLSelect< TM >, fatalmind::SQL::RTSQLSelectRow< TM >, fatalmind::SQL::BindOut< fatalmind::mysql::SQLRefType, fatalmind::mysql::SQLRefTypeImpl< T > >, and fatalmind::SQL::BindOut< fatalmind::oracle::oracleRefType, fatalmind::oracle::oracleRefTypeImpl< T > >.

Examples:
select.cc.


The documentation for this class was generated from the following files:
Generated on Mon Nov 9 16:21:24 2009 for ResourcePool by  doxygen 1.5.3