#include <BindOutInterface.hh>
Inherited by fatalmind::SQL::BindOut< fatalmind::mysql::SQLRefType, fatalmind::mysql::SQLRefTypeImpl< T > >, fatalmind::SQL::BindOut< fatalmind::oracle::oracleRefType, fatalmind::oracle::oracleRefTypeImpl< T > >, fatalmind::SQL::BindOut< VBC, CT >, fatalmind::SQL::RTSQLSelect< TM >, and fatalmind::SQL::RTSQLSelectRow< TM >.
It's not possible to use this polimorphycally since the methods are not virtual (and can not be virtual since it is a member template).
Public Member Functions | |
| template<typename T> | |
| void | bindout (const unsigned int pos, T &val, bool &isnull) |
| Specify where the output data of an select statement are to be stored. | |
| template<typename T> | |
| void | bindout (const unsigned int pos, T &val, BindOutNotNullConstraint=NOTNULL) |
Static Public Attributes | |
| static bool | notnullconstant |
| static BindOutNotNullConstraint | NOTNULL |
Classes | |
| class | BindOutNotNullConstraint |
| This inner class is used as parameter type to declar a column can not be NULL. More... | |
| void fatalmind::SQL::BindOutInterface::bindout | ( | const unsigned int | pos, | |
| T & | val, | |||
| bool & | isnull | |||
| ) | [inline] |
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.
| 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 anIndicator variable required but not supplied. exception. |
Reimplemented 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 > >.
1.5.5