Library: Data/ODBC
Package: ODBC
Header: Poco/Data/ODBC/TypeInfo.h
Description
Datatypes mapping utility class.
This class provides mapping between C and SQL datatypes as well as datatypes supported by the underlying database. In order for database types to be available, a valid conection handle must be supplied at either object construction time, or at a later point in time, through call to fillTypeInfo member function.
Class also provides a convenient debugging function that prints tabulated data to an output stream.
Member Summary
Member Functions: cDataType, fillTypeInfo, getInfo, print, sqlDataType, tryGetInfo
Types
DataTypeMap
typedef std::map < int, int > DataTypeMap;
TypeInfoTup
typedef Poco::NamedTuple < std::string, SQLSMALLINT, SQLINTEGER, std::string, std::string, std::string, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, std::string, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLSMALLINT, SQLINTEGER, SQLSMALLINT > TypeInfoTup;
TypeInfoVec
typedef std::vector < TypeInfoTup > TypeInfoVec;
ValueType
typedef DataTypeMap::value_type ValueType;
Constructors
TypeInfo
explicit TypeInfo(
SQLHDBC * pHDBC = 0
);
Creates the TypeInfo.
Destructor
~TypeInfo
~TypeInfo();
Destroys the TypeInfo.
Member Functions
cDataType
int cDataType(
int sqlDataType
) const;
Returns C data type corresponding to supplied SQL data type.
fillTypeInfo
void fillTypeInfo(
const SQLHDBC * pHDBC
);
Fills the data type info structure for the database.
getInfo
DynamicAny getInfo(
SQLSMALLINT type,
const std::string & param
) const;
Returns information about specified data type as specified by parameter 'type'. The requested information is specified by parameter 'param'. Will fail with a Poco::NotFoundException thrown if the param is not found
void print(
std::ostream & ostr
);
Prints all the types (as reported by the underlying database) to the supplied output stream.
sqlDataType
int sqlDataType(
int cDataType
) const;
Returns SQL data type corresponding to supplied C data type.
tryGetInfo
bool tryGetInfo(
SQLSMALLINT type,
const std::string & param,
DynamicAny & result
) const;
Returns information about specified data type as specified by parameter 'type' in param result. The requested information is specified by parameter 'param'. Will return false if the param is not found. The value of result will be not changed in this case.