![]() |
Home | Libraries | People | FAQ | More |
Executes a text query or prepared statement.
template< classExecutionRequest, classResultsType, class CompletionToken> auto async_execute( ExecutionRequest&& req, ResultsType& result, diagnostics& diag, CompletionToken&& token);
Sends req to the server
for execution and reads the response into result.
result may be either
a results
or static_results object. req should may be either a type convertible
to string_view containing valid
SQL or a bound prepared statement, obtained by calling statement::bind. If a string, it must be
encoded using the connection's character set. Any string parameters provided
to statement::bind should also be encoded
using the connection's character set.
After this operation completes successfully, result.has_value() == true.
Metadata in result will
be populated according to this->meta_mode().
If CompletionToken is
a deferred completion token (e.g. use_awaitable),
the caller is responsible for managing req's
validity following these rules:
req is string_view, the string pointed
to by req must be
kept alive by the caller until the operation is initiated.
req is a bound_statement_tuple, and
any of the parameters is a reference type (like string_view),
the caller must keep the values pointed by these references alive
until the operation is initiated.
req is a bound_statement_iterator_range,
the caller must keep objects in the iterator range passed to statement::bind
alive until the operation is initiated.
The handler signature for this operation is void(boost::mysql::error_code).