Wt  4.0.0
Static Public Member Functions | List of all members
Wt::Dbo::sql_value_traits< V, Enable > Class Template Reference

Traits class for value types. More...

#include <Wt/Dbo/SqlTraits.h>

Static Public Member Functions

static const char * type (SqlConnection *connection, int size)
 Returns the SQL type name. More...
 
static void bind (const V &v, SqlStatement *statement, int index, int size)
 Binds a value to a statement parameter. More...
 
static bool read (V &v, SqlStatement *statement, int column, int size)
 Reads a result from an executed query. More...
 

Detailed Description

template<typename V, class Enable = void>
class Wt::Dbo::sql_value_traits< V, Enable >

Traits class for value types.

This traits class may be specialized for a custom type V, to add dbo support for custom types. A value type has a one-to-one mapping to a single database column.

The library has built-in support for:

In <Wt/Dbo/WtSqlTraits>, traits classes are also provided for:

See also
query_result_traits

Member Function Documentation

template<typename V, class Enable = void>
static void Wt::Dbo::sql_value_traits< V, Enable >::bind ( const V &  v,
SqlStatement statement,
int  index,
int  size 
)
static

Binds a value to a statement parameter.

The value v must be bound to parameter with index index in the statement.

See also
SqlStatement::bind()
template<typename V, class Enable = void>
static bool Wt::Dbo::sql_value_traits< V, Enable >::read ( V &  v,
SqlStatement statement,
int  column,
int  size 
)
static

Reads a result from an executed query.

The value v must be read from result column column in the statement.

Returns true if the value was not null. This result may be used by the boost::optional<V> specialization to support fields that may have null values.

See also
SqlStatement::getResult()
template<typename V, class Enable = void>
static const char* Wt::Dbo::sql_value_traits< V, Enable >::type ( SqlConnection connection,
int  size 
)
static

Returns the SQL type name.

The size (for strings) is a hint and may be ignored by a back-end.

This will usually return a type ending with " not null" except for C++ types that support null values. For a normal c++ value type T, boost::optional<T> has been specialized to allow for null values.


Generated on Mon Sep 4 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.11