...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Starts a statement execution as a multi-function operation.
template<
class FieldLikeTuple
,
class EnableIf = detail::enable_if_field_like_tuple<FieldLikeTuple>>
void
start_statement_execution(
const statement& stmt,
const FieldLikeTuple& params,
execution_state& ex,
error_code& err,
diagnostics& diag);
Writes the execute request and reads the initial server response and
the column metadata, but not the generated rows, if any. After this operation
completes, st
will have
execution_state::meta
populated, and may become
execution_state::complete
if the operation did
not generate any rows (e.g. it was an UPDATE
).
Metadata will be populated according to this->meta_mode()
.
If the operation generated any rows, these must
be read (by using read_some_rows
) before engaging
in any further operation involving server communication. Otherwise, the
results are undefined.
The statement actual parameters (params
)
are passed as a std::tuple
of elements. String parameters
should be encoded using the connection's character set.
stmt.valid() == true