...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 FieldViewFwdIterator
>
void
start_statement_execution(
const statement& stmt,
FieldViewFwdIterator params_first,
FieldViewFwdIterator params_last,
execution_state& st);
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
).
If the operation generated any rows, these must
be read (by using connection::read_some_rows
) before engaging
in any further operation involving server communication. Otherwise, the
results are undefined.
The statement actual parameters are passed as an iterator range. String parameters should be encoded using the connection's character set.
stmt.valid() == true